日期:2014-05-17  浏览次数:20810 次

oracle行变列的问题

原数据经过分组查询后查询结果是这样的
机构             时间       完成率
33020100 2013-02   2.089081633
33020100 2013-03   2.089081633
33020101 2013-03   -0.049005508
33020101 2013-02   -0.049005508
现在我想讲这样的数据变成这样的
 机构             2013-02         2013-03
33020100 2.089081633 2.089081633
33020101 -0.049005508 -0.049005508
请教高手能帮给个方法



------解决方案--------------------
这不是将数据“转置”一下,就搞定了么?
------解决方案--------------------
http://bbs.csdn.net/topics/330039676

行转列通用过程
------解决方案--------------------
最基本的分组判断合并么...


select 机构,
       sum(decode(时间,'2013-02',完成率,0)) "2013-02",  
       sum(decode(时间,'2013-03',完成率,0)) "2013-03"  
from tb1
group by 机构
order by 机构  

------解决方案--------------------
select * from tb1  pivot (sum(完成率) for timemonth in('2013-02','2013-03'))