oracle行转列实践

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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. 其他‘ 其他))

技术分享

 


以上是关于oracle行转列实践的主要内容,如果未能解决你的问题,请参考以下文章

MySQL行转列与列转行

PIVOT:行转列函数

SQLSERVER有张表,需要每晚自动实现行转列。

Hive 行转列 & 列转行

oracle行转列sql怎么写?

oracle行转列sql怎么写?