TSQL汇总 - 返回非空

Man*_*jot 3 t-sql sql-server-2008

我正在使用Rollup子句,以及它如何显示各种级别的聚合WITH NULL值,显示不同级别,rollups例如rollup(year,month,week)将在每个级别显示小计.

我希望它卷起来但又希望看到最高级别的聚合.所以我不想看到任何null价值观.

知道我该怎么办?

问候Manjot

Max*_*erl 6

你是什​​么意思"只有最高级别的恶化?

您可以通过检查分组中的列是否可以避免NULL,如下所示:

SELECT        CASE WHEN Grouping(GroupID) = 1 THEN '#ALL' ELSE GroupID END AS         GroupID,          
              CASE WHEN Grouping(SubGroupID) = 1 THEN '#ALL' ELSE SubGroupID END AS SubGroupID, 
              Sum(Value)
FROM          Table
GROUP BY      GroupID,
              SubGroupID
WITH ROLLUP
Run Code Online (Sandbox Code Playgroud)

它将显示#ALL insteaed为NULL.