配置带有多个sum()语句的select语句,仅输出非零结果

时间:2013-07-03 14:57:29

标签: sql-server reporting-services

在SRSS中做一个饼图,我正在尝试为它生成一个正确的SQL查询。基本上我正在尝试分析一个只在上个月打开的文件的表。有一个Date_Opened字段,我可以用于这种情况:

SELECT count(*) AS NoOfFiles,
       sum(CASE
             WHEN DATEPART(MONTH, Date_Opened) >= DATEPART(MONTH, DATEADD(m, 1, getdate()))
                  AND DATEPART(YEAR, Date_Opened) >= DATEPART(YEAR, DATEADD(m, -1, getdate()))
                  AND Case_Category_ID = 225 THEN 1
             ELSE 0
           END) AS InDischargeLoan,
       sum(CASE
             WHEN DATEPART(MONTH, Date_Opened) >= DATEPART(MONTH, DATEADD(m, 1, getdate()))
                  AND DATEPART(YEAR, Date_Opened) >= DATEPART(YEAR, DATEADD(m, -1, getdate()))
                  AND Case_Category_ID = 226 THEN 1
             ELSE 0
           END) AS TechnicalDev,
FROM   dbo.Cases 

上述查询将添加等于零的列。但我只想要非零列。我认为 使用'having'或group by可能有效,但不确定如何使用这些命令?

0 个答案:

没有答案