对 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
BookAuthor: ISBN, AUTHORID
即使我尝试仅使用 SELECT 和 FROM 进行简单的连接,它也不会显示任何结果。
例如:
SELECT FNAME || ' ' || LNAME "AUTHOR NAME"
FROM AUTHOR
最佳答案
试试这个:
SELECT CONCAT(CONCAT(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
关于join - 串联 - 名字和姓氏相同的列 (Oracle SQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35387363/