행으로 분리하는게 어려워 질문 드립니다'
|
월,수 |
C01,C02,C03 |
| 화 | C01,M01 |
| 목,금 | C02,M03 |
결과 -->
| 월 | C01 |
| 월 | C02 |
| 월 | C03 |
| 화 | C01 |
| 화 | M01 |
| 수 | C01 |
| 수 | C02 |
| 수 | C03 |
| 목 | C02 |
| 목 | M03 |
| 금 | C02 |
| 금 | M03 |
이렇게 가능 할꺄요?
부탁드립니다~~
WITH t AS
(
SELECT '월,수' gb, 'C01,C02,C03' cd FROM dual
UNION ALL SELECT '화' , 'C01,M01' FROM dual
UNION ALL SELECT '목,금', 'C02,M03' FROM dual
)
SELECT REGEXP_SUBSTR(a.gb, '[^,]+', 1, b.lv) gb
, REGEXP_SUBSTR(a.cd, '[^,]+', 1, c.lv) cd
FROM t a
, (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 5) b
, (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 5) c
WHERE b.lv <= REGEXP_COUNT(a.gb, '[^,]+')
AND c.lv <= REGEXP_COUNT(a.cd, '[^,]+')
ORDER BY INSTR('월화수목금', gb), cd
;
감사합니다~~