year    name   num
201101   a      1
201102   b      2
201102   b      3
201103   a      4
201103   c      2
201102   d      3
201101   d      4
201102   c      5
201103   e      6
201102   e      7如何显示成
name  201101          201102     201103
a     sum(num)       sum(num)     sum(num)
b     sum(num)       sum(num)     sum(num)
d     sum(num)       sum(num)     sum(num)
e     sum(num)       sum(num)     sum(num)  

解决方案 »

  1.   


    看试下这样可以不
    select name,
           sum(decode(year,'201101',num,0))  201101, 
           sum(decode(year,'201102' ,num,0))  201102 ,
           sum(decode(year,'201103',num,0))  201103
    from tab
    group by name
      

  2.   

    1 楼您那个结果出现的是 类似这样的
    201101 Benben 7901
    201102 Benben 4964
    201103 Benben 7818
      

  3.   

    201101 Benben 7901 空 空
    201102 Benben 空 4964 空
    201103 Benben 空 空 7818
    我需要将 同样的Name的sum(num) 合并在一行里面啊
      

  4.   

    你按照上面的那个SQL运行了么?
      

  5.   

    刚给的数据是我已经套一层的decode,还需要在套一层才实现