我需要以下查询的帮助。
Select date, Source,count(*) as TOTALCOUNT
from Table A
where date = '2014-10-15' and Source = 'EMAIL'
group by date,source
特定日期没有EMAIL
source
。所以,它没有给出任何行。
但我希望在0
中获得Totalcount
,即使那天EMAIL
不存在,但可以在第二天出现。
应该是,
Date,Source, Totalcount
15/10/14,Email,0
我使用ISNULL
函数无效,因为没有产生任何行。
答案 0 :(得分:1)
您可以使用"常数"进行连接。查询。这是一个丑陋的黑客,但它应该做到这一点:
SELECT c.date, c.source, COALESCE(totalcount, 0)
FROM (SELECT '2014-10-15' AS date, 'EMAIL' AS source) c
LEFT JOIN (SELECT date, source, COUNT(*) AS totalcount
FROM a
GROUP BY date, source) a
ON a.date = c.date AND a.source = c.source