아래의 원본테이블의 내용을 조회결과 처럼 보이게 하려는데
잘 안되서 조언을 구해 봅니다.
생각보다 힘드네요 ㅠㅠ
[원본 테이블]
PROCID | EDU_SEQ | EDU_ID_LIST | EDU_NAME_LIST | TITLE | DATE |
100000 | 1 | 00005,00006 | 홍길동,김유신 | 교육1 | ... |
100001 | 2 | 00005 | 홍길동 | 교육2 | |
100002 | 3 | 00006 | 김유신 | 교육3 |
[조회 결과]
PROCID | EDU_SEQ | EDU_ID_LIST | EDU_NAME_LIST | TITLE | DATE |
100000 | 1 | 00005 | 홍길동 | 교육1 | ... |
100000 | 1 | 00006 | 김유신 | 교육1 | |
100001 | 2 | 00005 | 홍길동 | 교육2 | |
100002 | 3 | 00006 | 김유신 | 교육3 |
WITH t AS ( SELECT '100000' procid, 1 edu_seq, '00005,00006' edu_id_list, '홍길동,김유신' edu_name_list, '교육1' title, '' dt FROM dual UNION ALL SELECT '100001', 2, '00005', '홍길동', '교육2', '' FROM dual UNION ALL SELECT '100002', 3, '00006', '김유신', '교육3', '' FROM dual ) SELECT procid , edu_seq , REGEXP_SUBSTR(edu_id_list , '[^,]+', 1, lv) edu_id , REGEXP_SUBSTR(edu_name_list, '[^,]+', 1, lv) edu_name , title , dt FROM t , (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 9) WHERE lv <= REGEXP_COUNT(edu_id_list, '[^,]+') ORDER BY procid, lv ;