select 
  供应产品名,
  sum(decode(厂编号,'01',产品销售额,0)) 一分厂,
  sum(decode(厂编号,'02',产品销售额,0)) 二分厂
from 
  a
group by 供应产品名;

解决方案 »

  1.   

    恩, zmgowin(hermit) 的没错
      

  2.   

    也可以通过case... end case实现
      

  3.   

    一個早上看了好幾個帖子,好象有好幾個用到decode這個函數 哦............
      

  4.   

    select 
      供应产品名,
      sum(decode(厂编号,'01',产品销售额,0)) 一分厂,
      sum(decode(厂编号,'02',产品销售额,0)) 二分厂
    from 
      a
    group by 供应产品名;月份不管了??
    select 
      供应产品名,
      sum(decode(厂编号,'01',产品销售额,0)) over(partition by 统计时间) 一分厂,
      sum(decode(厂编号,'02',产品销售额,0)) over(partition by 统计时间) 二分厂
    from 
      a
    group by 统计时间,供应产品名;
      

  5.   

    非常感谢各位回帖,现在要把这个转化成个复杂的形式,请问能解决么,我不知道用SQL能不能实现?
    日常消费品,饮料类 是两个大类,数据库中并没有这两个名称而又要写出来,并且显示形式能够将果汁和啤酒合起来组成一组放在饮料类下,而矿泉水要放在日常消费品下,能够实现么?
    产品名  一分厂         二分厂
    日常消费品           
    矿泉水  5000           3500
    饮料类                 
    果汁    500            2000
    啤酒    200            1000
    合计    5700           6500