ORCLE查询表数据的行列转换

我是社区第91884位番薯,欢迎点我头像关注我哦~
我要做一个如下图所示的雷达图:
112516w4ilyurir8jyer6j.jpg.thumb.jpg 可是ORCLE查询所得的数据结构如下图所示:
1503565901(1).jpg
这个格式的数据无法绑定控件,需要转换成如下格式:
73293599e9ab08fc91.png
这就需要用到oracle11g提供的行列转换函数pivot,unpivot
第一步将列转换为行:
58812599e9a366953b.png
SQL代码如下:
with tmp_orig as (
select xzqdm,label_,value_ from Ba_Bdc_Ywljjg_Nxjg
unpivot(value_ for label_ in(a1,a2,a3,a4,a5,a6,a7)) order by label_)
select * from tmp_orig

再将列转化为行:

全部SQL如下:
with tmp_orig as (
select xzqdm,label_,value_ from Ba_Bdc_Ywljjg_Nxjg
unpivot(value_ for label_ in(a1,a2,a3,a4,a5,a6,a7)) order by label_)
select * from tmp_orig
pivot (
sum(value_)for xzqdm in
(n'320100' as "南京市",n'320200' as "苏州市",n'320300' as "无锡市",
n'320400' as "徐州市",n'320500' as "常州市",n'320600' as "南通市",
n'320700' as "扬州市",n'320800' as "淮安市",n'320900' as "盐城市",
n'321000' as "连云港市",n'321100' as "泰州市",n'321200' as "宿迁市",
n'321300' as "镇江市")
)





参与人数 +2 F豆 +266 理由
传说哥 + 200 老太太摔倒了我都不扶,就服你
兔子酱 + 66 默默地点个赞,然后闪人

查看全部评分

发表于 2017-8-25 09:15:08
感谢分享
发表于 2017-8-25 09:20:07
发表于 2017-8-25 09:23:37
没怎么看懂,是不是太笨了
发表于 2017-8-25 09:28:44
hjq814380089 发表于 2017-8-25 09:23
没怎么看懂,是不是太笨了

不笨不笨,我也看了很久呢。关键是pivot和unpivot这个两个函数
发表于 2017-8-25 09:53:45
没看懂,看来要复习oracle了
发表于 2017-8-25 11:46:04

发表于 2017-8-29 08:33:35
看了好久+百度,勉强看明白了。
发表于 2017-9-23 07:14:16
来自手机
楼主,这个可不可以用单元格数据,在单元格中直接改变扩展方向就转过来了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

8回帖数 1关注人数 3360浏览人数
最后回复于:2017-9-23 07:14

返回顶部 返回列表