【发布时间】:2013-03-06 01:29:21
【问题描述】:
这似乎应该很容易,但我似乎无法弄清楚。我有一个表,其中包含 Artifact 名称和 Modification_Date 等。我有一个查询,按月获取文档修改次数。有几个月没有修改。由于我在Modification_Date 上进行查询和分组,因此这些月份没有任何修改的返回结果。理想情况下,在结果集中,我希望那里的月份和 Quantity 为 0。
SELECT CONVERT(NVARCHAR(7), Modification_Date, 120) [Month],
COUNT(Artifact) as Quantity
FROM table
WHERE Modification_Date > DATEADD(month, -6, getdate())
GROUP BY CONVERT(NVARCHAR(7), Modification_Date, 120)
ORDER BY [Month] DESC
这让我得到类似的结果:
Month Quantity
------- --------
2013-02 10
2012-11 12
2012-10 5
2012-09 29
如您所见,2012 年 12 月和 2013 年 1 月这两个月份不在结果集中。我想在那里用 0 Quantity 表示这些月份,以便我可以在 SQL 报告条形图中使用该数据并将这些月份用 0 值表示。目前在条形图上它完全跳过了这些月份。有没有办法生成过去 6 个月的 yyyy-mm Month 列,而不仅仅是使用 Modification_Date?
【问题讨论】:
标签: sql-server date select reporting-services