//原数据表结构如下:
产品名称 销售额 季度
奶酪 50 第一季度
奶酪 60 第二季度
啤酒 50 第二季度
啤酒 80 第四季度
//想转换成如下格式:
产品名称 第一季度销售额 第二季度销售额 第三季度销售额 第四季度销售额
奶酪 50 60 0 0
啤酒 0 50 0 80
//第一种方法:
oracle下可以用函数decode处理:
select 产品名称,
sum(decode(季度,'第一季度',销售额,0)) 第一季度销售额,
sum(decode(季度,'第二季度',销售额,0)) 第二季度销售额,
sum(decode(季度,'第三季度',销售额,0)) 第三季度销售额,
sum(decode(季度,'第四季度',销售额,0)) 第四季度销售额,
from 表名
group by 产品名称;
//第二种方法 case when:
select 产品名称,sum(case when 季度='第一季度' then 销售额 else 0 end) as 第一季度销售额,
sum(case when 季度='第二季度' then 销售额 else 0 end) as 第二季度销售额,
sum(case when 季度='第三季度' then 销售额 else 0 end) as 第三季度销售额,
sum(case when 季度='第四季度' then 销售额 else 0 end) 第四季度销售额
from 表名 group by 产品名称;