度量快速开发平台-专业、快速的软件定制快开平台

标题: oracle行转列实践 [打印本页]

作者: fteair    时间: 2020-5-29 14:54
标题: oracle行转列实践
在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. 其他' 其他))


作者: fteair    时间: 2020-5-29 14:55

作者: caixuqad    时间: 2020-5-29 17:28

作者: caixuqad    时间: 2020-5-29 17:28

作者: fteair    时间: 2020-5-30 15:18
caixuqad 发表于 2017-6-29 17:28






欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2