【发布时间】:2016-12-01 00:18:59
【问题描述】:
好吧,我要做的是从同一服务器上两个不同数据库的两个表中检索数据,并在 Reporting Services 中创建一个图表。我目前在 ssrs r2 2008 上。对于图表,我需要按年份和月份排序,因为我也有不同的年份,并计算每月归类为活动的名称数量。我可以按年份对信息进行排序,但月份总是按字母顺序排列,而不是按时间顺序排列。我试图删除 ssrs 中的默认排序,但它仍然返回相同的结果,所以我相信排序必须在我的查询中完成。我的查询如下:
SELECT COUNT(c.name) AS name,
DATENAME(mm, c.expireson) AS Month,
DATENAME(yyyy, c.expireson) AS Year
FROM Database1.Table1 AS c
WHERE c.name = 'Active'
GROUP BY DATENAME(mm, c.expireson), DATENAME(yyyy, c.expireson)
UNION ALL
SELECT COUNT(d.name) AS name,
DATENAME(mm, d.expireson) AS Month,
DATENAME(yyyy, d.expireson) AS Year
FROM Database2.Table2 AS d
WHERE d.name = 'Active'
GROUP BY DATENAME(mm, d.expireson), DATENAME(yyyy, d.expireson)
任何关于如何更改它以正确订购月份的帮助将不胜感激。提前致谢!
【问题讨论】:
-
您甚至没有 ORDER BY 子句。为什么您希望 SQL Server 以任何特定的顺序返回它? Please read #3 here 以及
mm和yyyy,为什么要输入yyyy而不是YEAR?请阅读 this 和 this 关于惰性速记。 -
很抱歉最初没有提到这一点,但我确实有一个 order by 子句,它没有对月份进行排序。我刚刚结束了我最初的查询。
标签: sql sql-server reporting-services ssrs-2008