T-SQL查询未返回正确的结果

时间:2013-07-17 16:46:30

标签: tsql sql-server-2012-express

我有一个想要捕获零件销售的查询。我希望从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

我做错了什么?

1 个答案:

答案 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