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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 983|回复: 4
打印 上一主题 下一主题

[分享] oracle行转列实践

[复制链接]

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
跳转到指定楼层
楼主
发表于 2020-5-29 14:54:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在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. 其他' 其他))

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
沙发
 楼主| 发表于 2020-5-29 14:55:35 | 只看该作者
回复 支持 反对

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
板凳
发表于 2020-5-29 17:28:15 | 只看该作者
回复 支持 反对

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
地板
发表于 2020-5-29 17:28:59 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
5#
 楼主| 发表于 2020-5-30 15:18:13 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-28 14:25 , Processed in 0.119343 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表