我有一个想要捕获零件销售的查询。我希望从Parts表中获得完整的结果,如果在时间范围内没有该部件的销售,我想在Sales列中看到0。我没有看到。我刚拿到有销售的零件。
SELECT
Part,
Sum(Sales)
FROM
dbo.Parts
LEFT OUTER JOIN
dbo.SalesData ON Part = Part
WHERE
SalesDate > '2011-12-31'
GROUP BY
Part
ORDER BY
Part
我做错了什么?
答案 0 :(得分:1)
我认为这是因为您的WHERE
条款正在删除所有没有销售的部分,因为它们没有SalesDate。
尝试: -
SELECT
Part,
Sum(Sales)
FROM
dbo.Parts
LEFT OUTER JOIN
dbo.SalesData ON Part = Part
AND SalesDate > '2011-12-31'
GROUP BY
Part
ORDER BY
Part