thomas0988 发表于 2013-1-26 12:54:17

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]
查看完整版本: oracle 列数据转成行