当前位置: 首页 > 知识库问答 >
问题:

返回写过两部以上小说的作者的id、名字和姓氏

公冶兴文
2023-03-14
select aid, fname, lname 
from author 
where aid in (
    select aid
    from written_by
        join book on book.isbn = written_by.isbn
    group by aid
    having count(*) > 2
); 

编辑:想出来了。在group by之前添加了btype=“novel”,现在它可以正常工作。

共有1个答案

裴实
2023-03-14

有几种方法可以形成这个查询。您已经在()中使用了,这里有一个您应该知道的替代方案。

使用内部联接

select aid, fname as "First Name", lname as "Last Name"
from author a
inner join (
    select aid
    from written_by
        join book on book.isbn = written_by.isbn
    where btype = 'novel'
    group by aid
    having count(*) > 2
    ) g on a.aid = g.aid

注意:对于文字(如“novel”)使用单引号,对于标识(如包含空格的列别名)使用双引号。

 类似资料:
  • 我试图用SQL编写一个查询,从同一个“employee”表中返回员工的姓和经理的姓。每个员工都有一个employeeid和一个“reportsto”列,其中包含其经理的employeeid。 这是我目前为止返回第一部分的内容(员工的姓和报告对象的id) 这个返回 我不知道如何将“reports”取下来,抓取它对应的employeeid,然后添加经理员工的姓,并将其添加到同一个记录中。 所以表应该是

  • 问题内容: 我正在尝试使用我的Facebook帐户登录到我的网站,但是Facebook仅给出名称和ID,不足以登录用户。在我获得完整的信息之前,例如名字,姓氏,电子邮件等。 现在由facebook提供的数据: 我正在使用Oauth v2.0通过Facebook将用户登录到我的网站。 问题答案: 看起来您正在使用Graph API的v2.4。看到 https://developers.faceboo

  • 问题内容: 这是一个快速测试程序: 输出为: 如何控制名称的大写。由于某种原因,西班牙语和法语似乎总是返回以小写字母开头的名称。 问题答案: 并非所有语言都共享英文大写规则。我想您需要更改API使用的数据,但是您的非英语客户可能不喜欢它。 about.com关于法国大写

  • 嗨,对不起,初学者,这里,我不擅长解释的东西很好,但我想知道我如何返回一个数组的第一个book对象? 下面是我的代码: 当我在BlueJ编译器上测试此代码时,它返回作者的标题,而不是对象的第一个实例,该对象具有。 下面是我需要使用的方法: 返回使用此名字的作者编写的第一个对象

  • 我试图解决这个问题,就是将这一行添加到传递给CorenlpClient的rgxrules.txt文件中。下面是我在这个文件中的一行: 这并不能解决运行代码时可以检查的问题。另外,我不知道如何补充一个事实,我只想要与[[A-Z][A-Z]]匹配的词,而且这个词出现在等前面。要用人称来注释,而不是整个句子“迈诺特等人”。例如。 你知道我怎么解决这个问题吗。

  • 我需要帮助来分别获得名字和姓氏。 字段为[全名]:Halsey S Dunn 我可以单独获得名字,但无法单独获得姓氏: 这是我的名字和姓氏代码: 我的结果需要是: