행으로 분리, 고수님들 부탁드립니다 0 2 2,167

by 일곱난장이 [Oracle 기초] [2023.04.02 13:19:55]


행으로 분리하는게 어려워 질문 드립니다'

월,수

C01,C02,C03
C01,M01
목,금 C02,M03

 

결과 -->

C01
C02
C03
C01
M01
C01
C02
C03
C02
M03
C02
M03

이렇게 가능 할꺄요?

부탁드립니다~~

by 마농 [2023.04.03 08:45:27]
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
;

 


by 일곱난장이 [2023.04.03 09:09:21]

감사합니다~~

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입