2016-06-12 119 views
1

我正在製作書店數據庫,並在表格「作者」中列出了我想列出作者在表格「書籍」中編寫的書籍的列。表「Books」具有外鍵「id_author」。我不知道該怎麼做,它就像連續計數職位oracle

SELECT COUNT(*) FROM Books WHERE id_author = "id of chosen author" 

在代碼中用什麼來代替"id of chosen author"

如何把它放在表「作者」的表中?

+1

你只需要更新它,如果作者發佈的一本新書。您不應該在實際數據庫中真正存儲這種性質的動態數據,只需在需要時提取它。 – CHill60

回答

1

您可以加入在authors表和查詢其列(例如,第一個和最後一個名稱):

SELECT COUNT(*) 
FROM books b 
JOIN author a ON b.id_author = a.id 
WHERE a.firstname = 'John' AND a.lastname = 'Doe' 
0

取決於你有應用程序,該應用程序可能已經有作者id。這意味着,你可以只是做一個

SELECT COUNT(*) FROM Books WHERE id_author = "id of author provided by application" 

雖然相對於Mureinik的答案,這樣可以加強對大型數據庫的性能,你沒有做的作者和書籍表之間的連接的差異可能並不大。

0

冊數由作者:

select a.author, count(1) 
from author a 
join books b 
    on a.id = b.id_author 
group by a.author