컬럼안에 엔터값으로 구분되어있는 값을 로우로 나눌수 있을까요??? 0 2 745

by 혼수상태 [SQL Query] [2020.08.07 14:43:29]


오라클 sql로 컬럼안에 엔터값으로 구분되어 있는 값들을 아래 로우로 나눌 수 있을까요???

 

 

샘플

구분 랭킹
박지성 AAA
BBB
손흥민 SSS
BBB
CCC

 

결과

구분 랭킹
박지성 AAA
박지성 BBB
손흥민 SSS
손흥민 BBB
손흥민 CCC

 

도움 부탁 드립니다 ( _ _ )

 

 

 

 

by 마농 [2020.08.07 16:05:13]
WITH t AS
(
SELECT '박지성' gb,  'AAA
BBB' rk FROM dual
UNION ALL SELECT '손흥민', 'SSS
BBB
CCC' FROM dual
)
SELECT gb
     , lv
     , REGEXP_SUBSTR(rk, '.+', 1, lv) x
  FROM t
     , (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 9)
 WHERE lv <= REGEXP_COUNT(rk, '.+')
 ORDER BY gb, lv
;

 


by 혼수상태 [2020.08.07 16:25:14]

항상 답변 달아주셔서 감사합니다. 마농님 ( _ _ )  덕분에 해결했습니다~!!!^^

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