首页 > 代码库 > oracle将查询结果横转纵

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将查询结果横转纵