持之以恒

记录本
posts - 4, comments - 32, trackbacks - 0, articles - 74
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Oracle列转行,行转列

Posted on 2012-03-05 14:54 小白19870626 阅读(4235) 评论(0)  编辑  收藏 所属分类: oracle
我现在的表如下:

产品名称    销售额  季度
奶酪          50     第一季度
奶酪          60     第二季度
啤酒          50     第二季度
啤酒          80     第四季度
。。。
。。。
想转换成如下格式
产品名称 第一季度销售额 第二季度销售额 第三季度销售额 第四季度销售额
奶酪          50               60           0              0
啤酒           0               50           0              80

请问该如何转换呢~产品名称的数据量很大,非常感激,Oracle的~
解答:::::如下::::
oracle下可以用函数decode处理:

select 产品名称,
sum(decode(季度,'第一季度',销售额,0)) 第一季度销售额,
sum(decode(季度,'第二季度',销售额,0)) 第二季度销售额,
sum(decode(季度,'第三季度',销售额,0)) 第三季度销售额,
sum(decode(季度,'第四季度',销售额,0)) 第四季度销售额,
from 表名
group by 产品名称;

小白

只有注册用户登录后才能发表评论。


网站导航: