2016-02-14 44 views
0

完全陌生的Oracle SQL,他這樣說:串聯 - 名字和姓同列(甲骨文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,書名

作者:AUTHORID,LNAME,FNAME

BOOKAUTHOR:ISBN,AUTHORID

即使當我嘗試使用SELECT和FROM做一個簡單的連接時,它也不會顯示一個y結果。

例如像:

SELECT FNAME || ' ' || LNAME "AUTHOR NAME" 
FROM AUTHOR 
+0

你肯定有你的作者表中的任何行?你用'AS'嘗試第二個查詢嗎? – leeor

+0

其實第二個查詢現在可以使用。看起來在運行了一段時間後,我的oracle會停止回覆任何查詢結果。我必須重新啓動它,然後查詢才能正常工作。 –

回答

0

試試這個:

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