Man*_*jot 3 t-sql sql-server-2008
我正在使用Rollup子句,以及它如何显示各种级别的聚合WITH NULL值,显示不同级别,rollups例如rollup(year,month,week)将在每个级别显示小计.
我希望它卷起来但又希望看到最高级别的聚合.所以我不想看到任何null价值观.
知道我该怎么办?
问候Manjot
你是什么意思"只有最高级别的恶化?
您可以通过检查分组中的列是否可以避免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.