我试图过滤出由特定用户添加的结果,同时保持每一天,因为此查询将用于报表中的图表。当我删除t2.createdBy <> 21
时,我得到了所有的日期,但我也需要结果按此过滤才是正确的。T-SQL:如何保留左连接但过滤器查询
查询:
SELECT
t1.DateFull, COUNT(t2.ContainerWashedDate) as Washes
FROM
DateLookup t1
LEFT JOIN
factContainerWash t2 ON t1.Datefull = t2.ContainerWashedDate
WHERE
(t1.DateFull >= '10/5/2016')
AND (t1.DateFull <= '11/9/2016')
AND t2.createdBy <> 21
GROUP BY
t1.DateFull
ORDER BY
DateFull
结果:
DateFull | Washes
-------------------------+-------
2016-10-05 00:00:00.000 | 1231
2016-10-06 00:00:00.000 | 466
2016-10-10 00:00:00.000 | 84
2016-10-12 00:00:00.000 | 75
预期结果:
DateFull | Washes
-------------------------+-------
2016-10-05 00:00:00.000 | 1231
2016-10-06 00:00:00.000 | 466
2016-10-07 00:00:00.000 | 655
2016-10-08 00:00:00.000 | 23
但'createdBy' **不能**是21,如果它根本不存在。您首先需要解决一个逻辑问题。 – Amit