我正在制作书店数据库,并在表格“作者”中列出了我想列出作者在表格“书籍”中编写的书籍的列。表“Books”具有外键“id_author”。我不知道该怎么做,它就像连续计数职位oracle
SELECT COUNT(*) FROM Books WHERE id_author = "id of chosen author"
在代码中用什么来代替"id of chosen author"
?
如何把它放在表“作者”的表中?
我正在制作书店数据库,并在表格“作者”中列出了我想列出作者在表格“书籍”中编写的书籍的列。表“Books”具有外键“id_author”。我不知道该怎么做,它就像连续计数职位oracle
SELECT COUNT(*) FROM Books WHERE id_author = "id of chosen author"
在代码中用什么来代替"id of chosen author"
?
如何把它放在表“作者”的表中?
您可以加入在authors
表和查询其列(例如,第一个和最后一个名称):
SELECT COUNT(*)
FROM books b
JOIN author a ON b.id_author = a.id
WHERE a.firstname = 'John' AND a.lastname = 'Doe'
取决于你有应用程序,该应用程序可能已经有作者id。这意味着,你可以只是做一个
SELECT COUNT(*) FROM Books WHERE id_author = "id of author provided by application"
虽然相对于Mureinik的答案,这样可以加强对大型数据库的性能,你没有做的作者和书籍表之间的连接的差异可能并不大。
册数由作者:
select a.author, count(1)
from author a
join books b
on a.id = b.id_author
group by a.author
你只需要更新它,如果作者发布的一本新书。您不应该在实际数据库中真正存储这种性质的动态数据,只需在需要时提取它。 – CHill60