表1:
a   b   c   d  列名,以下为数据。sql2005数据库
a1  b1  c1  4
a1  b1  c2  2
a1  b1  c3  3a1  b2  c1  4
a1  b2  c2  3
a1  b2  c3  6a2  b1  c1  9
a2  b1  c2  8
a2  b1  c3  1a2  b2  c1  2
a2  b2  c2  3
a2  b2  c3  2
通过对a,b,c列分类,对d列求和,想得到表2(注意表中“其他”,同时null表示空)
表2:
 a    b    c      d    列名
 a1   b1   c1     4
 a1   b1   其他   5
 a1   b2   null   13
 a2   null null   25

解决方案 »

  1.   

    通过对a,b,c列分类,对d列求和,应为:select a , b, c, sum(d) d from tb group by a , b, c不知道你的结果为什么会这样.
      

  2.   

    如果是这样,就如上面说的用union all
      

  3.   

    select a , b, c, sum(d) d from tb group by a , b, c
    用这条语句所得结果中,有的还要合并
      

  4.   

    我是通过rdlc报表做的,本来报表里面带分类和求和的,报表对列不能合并单元格,最主要是还有个累计,报表里面不好做,只能通过建立sql视图
    具体需求如下:
    基本表:
    a b c 每日数据 
    得到报表:
     a   b    c       每月统计   今年累计
     a1  b1  c1
     a1  b1  其他 
     a1  b2   
     a2