oracle 列数据转成行
在遇到一些字典表时出现这样的数据表:http://dl.iteye.com/upload/attachment/499264/2bc98a56-f3b2-325d-b644-a906b331a9fa.jpg
想把它转成:
http://dl.iteye.com/upload/attachment/499270/12a52f34-3c18-382a-8267-e66d09f4a516.png
那就不妨试试这个方法:
SELECT DISTINCT (SUBSTR(T.RPT_ID, INSTR(T.RPT_ID, ',', 1, C.LV) + 1, INSTR(T.RPT_ID, ',', 1, C.LV + 1) - (INSTR(T.RPT_ID, ',', 1, C.LV) + 1))) AS XZQH, DLDMFROM (SELECT ',' || XZQH || ',' RPT_ID, LENGTH(XZQH || ',') - NVL(LENGTH(REPLACE(XZQH, ',')), 0) CNT, DLDM FROM TTABLE) T, (SELECT LEVEL LV FROM TTABLE CONNECT BY LEVEL <= LENGTH(XZQH || ',') - NVL(LENGTH(REPLACE(XZQH, ',')), 0)) C WHERE T.CNT >= C.LV
页:
[1]