【发布时间】:2019-07-15 01:28:59
【问题描述】:
我正在尝试使左外连接使用以下代码; 使用 (LEFT OUTER , RIGHT OUTER, FULL OUTER 和 INNER JOIN) 的结果是相同的结果。 我正在尝试返回所有出版商名称,包括尚未与任何书籍相关的人!
SELECT P.PublisherName,
COUNT(B.BookID) AS BookPublished
FROM LR_Publisher AS P LEFT OUTER JOIN LR_Book As B
ON P.PublisherID = B.PublisherID
WHERE (P.PublisherID = @pPublisherID OR @pPublisherID IS NULL)
GROUP BY PublisherName
提前致谢
【问题讨论】:
-
查询看起来不错(前提是
PublisherName是唯一的,即没有两个名称完全相同的发布者)。它应该返回所有出版商的图书数量,无论是十本、千本还是零本。有什么问题?查询结果与您想要的结果有何不同? -
在 LR_Book 我只有 PublisherID
-
你用它来加入
LR_Publisher。那有什么问题?对我来说似乎很完美。 -
你能添加一些数据作为例子吗?表和预期结果的当前记录。
-
不要在 cmets 中发布样本数据。编辑您的请求并将其放在那里。
标签: sql sql-server join left-join outer-join