假设我有两张书籍表格和两张相应版本的表格。
我有一个查询如下:
SELECT TOP 10 * FROM
(SELECT hbID, hbTitle, hbPublisherID, hbPublishDate, hbedID, hbedDate
FROM hardback
LEFT JOIN hardbackEdition on hbID = hbedID
UNION
SELECT pbID, pbTitle, pbPublisher, pbPublishDate, pbedID, pbedDate
FROM paperback
Left JOIN paperbackEdition on pbID = pbedID
) books
WHERE hbPublisherID = 7
ORDER BY hbPublishDate DESC
如果前两本精装本和/或平装本有 5 个版本,则此查询仅返回两本书。但是,我希望TOP 10
仅适用于返回的实际图书记录数。有没有办法我可以选择 10 本书,并且仍然可以获得所有相关的版本记录?
如果它是相关的,我没有创建和删除临时表的数据库权限。
谢谢阅读!
更新
澄清一下:平装表有一个相关的平装版本表。精装表有一个相关的精装版本表。除了将(希望!)看到它们一起显示的用户之外,精装本和平装本表彼此不相关。