一个SQL Query

1、Question:


Table T1
Column1 Column2
1 LIC_001,LIC_ 002,LIC_003
2 LIC_004
3 LIC_005,LIC_ 006
将表T1 的数据转换成表T2 的形式插入到目标表:
Table T2
Column1
1 LIC_001
1 LIC_002
1 LIC_003
2 LIC_004
3 LIC_004
3 LIC_006

2、Answer

WITH temp_tab AS
(SELECT 1 col1, 'LIC_001,LIC_ 002,LIC_003' col2 FROM DUAL
UNION ALL
SELECT 2, 'LIC_004' FROM DUAL
UNION ALL
SELECT 3, 'LIC_005,LIC_ 006' FROM DUAL)
SELECT       col1,
             REGEXP_SUBSTR (col2, '[^,]+', 1, LEVEL)
FROM         temp_tab
CONNECT BY   LEVEL <= LENGTH (REGEXP_REPLACE (col2, '[^,]*')) + 1
GROUP BY     col1, col2, LEVEL

你可能感兴趣的:(sql,数据库,职场,query,休闲)