大类 中类 类名  销售金额  日期
1 10 1 陶瓷制品  555.21       2009-07-14
2 10 1 陶瓷制品  599       2009-07-15
3 10 2 玻璃制品  411.26       2009-07-14
4 10 2 玻璃制品  580.15       2009-07-15
5 10 3 一次性用品  2172.2       2009-07-14
6 10 3 一次性用品  2289.18     2009-07-15
以上是中间结果,要得到下面格式结果
        大类 中类 类名  销售金额14号  销售金额15号
1 10 1 陶瓷制品  555.21       599
2        10 2 玻璃制品  411.26       580.15
3        10 3 一次性用品  2172.2      2289.18

解决方案 »

  1.   

    这里不知道你的日期是什么类型,先当作字符串类型来看的话就是如下select 大类,中类,类名,sum(decode(日期, '2009-07-14', 销售金额, 0)) 销售金额14号, sum(decode(日期, '2009-07-15', 销售金额, 0)) 销售金额15号 from 销售表 group by 大类,中类,类名;
      

  2.   


    如果你的日期是日期类型的话,就用to_char转一下,比如sum(decode(to_char(日期, 'yyyy-mm-dd'), '2009-07-14', 销售金额, 0))