我有两个疑问:
select
CM.Month,
CM.Year
FROM CalendarMonths AS CM
上面的查询返回日历表中可用的所有月份和年份。
第二个查询如下所示:
select
DATEPART(month, T.Date) AS Month,
DATEPART(year, T.Date) AS Year,
ISNULL(SUM(Amount) ,0) As Total
from Transactions T
inner join TransactionClasses TC on TC.TransactionClassId = T.TransactionClassId AND T.TransactionClassId = 3
GROUP BY
DATEPART(month, T.Date),
DATEPART(year, T.Date)
这只是返回属于按月和年分组的特定事务处理类的事务处理的合计。上述查询仅返回实际包含事务处理的月和年的行。
我尝试完成的是组合这两个查询,以便在返回包含Transactions的月份和年份的总计的同时,还返回其余月份的零总计。
到目前为止,我的尝试都没有成功,所以任何帮助都将不胜感激。
1条答案
按热度按时间5lhxktic1#
你需要对你的数据集进行
LEFT JOIN
操作,我会把你的第二个查询放到CTE/derived表中,这会使JOIN
操作更容易: