【发布时间】:2023-04-02 20:06:01
【问题描述】:
对 Oracle SQL 来说是全新的,话虽如此:
尝试在与“作者”相同的列中显示作者的名字和姓氏以及该作者撰写的书籍数量(按作者名字升序排列)。
SELECT AUTHOR.FNAME || ' ' || AUTHOR.LNAME AS "Author",
COUNT(BOOKAUTHOR.AUTHORID) AS "Books written"
FROM BOOKS
INNER JOIN BOOKAUTHOR ON BOOKS.ISBN = BOOKAUTHOR.ISBN
INNER JOIN AUTHOR ON BOOKAUTHOR.AuthorID = AUTHOR.AuthorID
ORDER BY AUTHOR.FNAME ASC
连接似乎不起作用,并且整个查询存在问题。
以下是相关的表格:
图书:ISBN、TITLE
作者:AUTHORID、LNAME、FNAME
图书作者:ISBN、AUTHORID
即使我尝试只使用 SELECT 和 FROM 进行简单的连接,它也不会显示任何结果。
例如:
SELECT FNAME || ' ' || LNAME "AUTHOR NAME"
FROM AUTHOR
【问题讨论】:
-
您确定您的作者表中有任何行吗?您是否尝试使用
AS进行第二个查询 -
实际上第二个查询现在有效。运行一段时间后,我的 oracle 似乎停止返回任何查询结果。我必须重新启动它,然后查询才能工作。
标签: join count concatenation