首页 > 数据库技术 > 详细

oracle行转列实践

时间:2017-06-29 13:56:28      阅读:305      评论:0      收藏:0      [点我收藏+]

在Oracle 11g中,Oracle 增加了2个查询:pivot(行转列) 和unpivot(列转行)

pivot(聚合函数 for 列名 in(类型)) ,其中 in(‘‘) 中可以指定别名,in中还可以指定子查询

行转列:

select * from rhsa_gcfx_result order by org_id,item,dictname

技术分享

 select org_id,item,sum(value) from rhsa_gcfx_result where dictname = ‘入院途径‘ and 1=1 group by item,org_id order by org_id,item

技术分享

将item列转换成行

select * from (select org_id,item,sum(value) value from rhsa_gcfx_result where dictname = ‘入院途径‘ and 1=1 group by item,org_id)
pivot (sum(value) for item in (‘1. 急诊‘ 急诊 , ‘2. 门诊‘ 门诊, ‘3. 其他医疗机构转入‘ 其他医疗机构转入, ‘9. 其他‘ 其他))

技术分享

 

oracle行转列实践

原文:http://www.cnblogs.com/liutie/p/7094045.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!