我有如下数据结构,表名为T
month    province   uercase    result1月       北京       手机报        10
2月       北京       手机报        20
3月       北京       手机报        30
4月       北京       手机报        40
1月       北京       短信          15
2月       北京       短信          25
10月      北京       短信          60
12月      北京       短信          90
。         。         。           。
。         。         。           。现在要获得如下数据结构,通过月份(1-12)统计,要如何写sqlmonth   province    手机报    短信
1月       北京       10        15
2月       北京       20        25
3月       北京       30        0
4月       北京       40        0
。。      。。       。。      。。
。。      。。       。。      。。
10月      北京       0         60
11月      北京       0         0
12月      北京       0         90

解决方案 »

  1.   

    select month ,province, 
    sum(decode(uercase ,手机报,result)) 手机报, 
    sum(decode(uercase ,短信,result)) 短信
    from T
    group by month ,province
      

  2.   

    select month ,province,  
    sum(decode(uercase ,手机报,result)) 手机报,  
    sum(decode(uercase ,短信,result)) 短信
    from T
    group by month ,province
      

  3.   

    不光是手机报和短信 还有很多别的usecase,我只是举例两个
      

  4.   

    引用 5 楼 sjc1216 的回复:
    不光是手机报和短信 还有很多别的usecase,我只是举例两个按照3楼的方法 把其他的也同样写出来 
     
    有很多啊,而却是不确定的啊
      

  5.   

    列数不确定的需要自己写存储过程拼动态sql