【发布时间】:2019-12-19 12:34:26
【问题描述】:
作者(AuthorID、作者姓名、地址、电话号码、PublisherCode)
图书(BookID、名称、发行日期、价格、AuthorID)
Publisher(PublisherID, Name, Address, AuthorID)
PK = 粗体
FK = 斜体
我正在尝试编写一个查询
将按 PublisherID 说明图书及其各个出版商和组
我了解检索此信息的总体思路,但我想知道是否可以将一个 FK 引用到另一个 FK。
例如,book.AuthorID = publisher.AuthorID 作为 PK AuthorID 不在查询中的任何一个表中。
SELECT b.name. p.name
FROM Books b
INNER JOIN Publisher p ON b.authorID = p.publisherID
GROUP BY publisherID
【问题讨论】:
-
你说的不是很有意义。为什么出版商的 id 等于作者的 id?请注意,在没有任何聚合函数的情况下,
GROUP BY子句永远不合适。如需更多帮助,请参阅:Why should I provide an MCRE for what seems to me to be a very simple SQL query? -
另外,请注意书籍可以有多个作者,甚至可以有多个出版商。
-
而且我想不出一种将 authorid 存储在发布者表中的场景。