我有一个固定的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

解决方案 »

  1.   

    ID   K1 Qty1  K2 Qty2  K3 Qty3  K4 Qty4  K5 Qty5  K6 Qty6  K7 Qty7  K8 Qty8  K9 Qty9
    这些是字段名称!
      

  2.   

    DECLARE @s varchar(8000)
    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')
      

  3.   

    http://blog.csdn.net/roy_88/archive/2006/10/18/1339933.aspx
    楼主参考一下这个列子