oracle将查询结果横转纵

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle将查询结果横转纵相关的知识,希望对你有一定的参考价值。

SELECT 残疾人|民政|综合治理|计划生育|物业监管|安全生产|环境类|司法信访|党建|社会组织|文化体育|社保 D , 
53|52|51|50|49|48|47|5|4|3|2|1 g FROM dual

查询结果如下:

技术分享

现在我想要把这个结果变成

残疾人 53
民政 52
综合治理 51
计划生育 50
物业监管 49
安全生产 48
环境类 47
司法信访 5
党建 4
社会组织 3
文化体育 2
社保 1

SELECT * FROM (
SELECT REGEXP_SUBSTR(E.D, [^|]+,1, ROWNUM) BRAND , REGEXP_SUBSTR(E.g, [^|]+,1, ROWNUM) BRAND1 FROM
(SELECT 残疾人|民政|综合治理|计划生育|物业监管|安全生产|环境类|司法信访|党建|社会组织|文化体育|社保 D , 
53|52|51|50|49|48|47|5|4|3|2|1 g FROM dual)E
CONNECT BY ROWNUM <= "LENGTH"("REGEXP_REPLACE"(E.D, |, ‘‘))
)WHERE BRAND IS NOT NULL AND BRAND1 IS NOT NULL

 这样就把行拆分开了。

 












以上是关于oracle将查询结果横转纵的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL中遇到的问题以及解决方法横转纵

oracle sql 中 如何实现table的行列转换?

JAVA连数据库查询结果和PLSQL不一样(oracle)

如何能实现将oracle的查询结果排序后,只返回第一条记录

将oracle 查询结果列拼接为字符串

将oracle 查询结果列拼接为字符串