我有一个固定的table,
TableRecordID K1 Qty1 K2 Qty2 K3 Qty3 K4 Qty4 K5 Qty5 K6 Qty6 K7 Qty7 K8 Qty8 K9 Qty9
前面所说的那个表就变成
ID Dept Qty
A01 K1 1
A01 K1 2
A01 K1 9
A01 K7 9
A01 K7 11
A02 K5 1
A02 K5 7
A02 K8 3
A02 K8 4得到的结果是:ID K1 Qty1 K2 Qty2 K3 Qty3 K4 Qty4 K5 Qty5 K6 Qty6 K7 Qty7 K8 Qty8 K9 Qty9
A01 K1 12 K7 18
A02 K5 8 K8 7
TableRecordID K1 Qty1 K2 Qty2 K3 Qty3 K4 Qty4 K5 Qty5 K6 Qty6 K7 Qty7 K8 Qty8 K9 Qty9
前面所说的那个表就变成
ID Dept Qty
A01 K1 1
A01 K1 2
A01 K1 9
A01 K7 9
A01 K7 11
A02 K5 1
A02 K5 7
A02 K8 3
A02 K8 4得到的结果是:ID K1 Qty1 K2 Qty2 K3 Qty3 K4 Qty4 K5 Qty5 K6 Qty6 K7 Qty7 K8 Qty8 K9 Qty9
A01 K1 12 K7 18
A02 K5 8 K8 7
这些是字段名称!
SET @s = ''
SELECT @s = @s + N',' + QUOTENAME(conofkind) + N'= SUM(CASE conofkind WHEN ' + QUOTENAME(conofkind, '''') + ' THEN 1 ELSE 0 END)'
FROM(
SELECT DISTINCT conofkind FROM 你的表
)A
EXEC('
select
[单位/内容] = ISNULL(unit1, ''统计'') + @s + ',
[统计] = SUM(1)
FROM 你的表
GROUP BY unit1 WITH ROLLUP')
楼主参考一下这个列子