【发布时间】:2011-10-05 21:03:21
【问题描述】:
我有以下 SQL。大多数G1和G2是一对一的关系。少数是一对多的关系。以下 SQL 将显示过多的“Total2”。当 G1 和 G2 是一对一时,是否可以删除这些 Total2 行?
SELECT CASE WHEN GROUPING_ID(G1) = 1 THEN 'Total1' ELSE G1 END,
CASE WHEN GROUPING_ID(G2) = 1 THEN 'Total2' ELSE G2 END,
SUM(a),
SUM(b),
count(*)
FROM data
GROUP BY
G1, G2 WITH ROLLUP
【问题讨论】:
标签: sql-server sql-server-2005 sql-server-2008 rollup