CONNECT BY LEVEL < n 행복제 방식은 dual 과 같은 1건 테이블에 적용하는 방법입니다.
여러건의 테이블에 직접 해당 방식을 사용하면 큰일(?)납니다.
http://gurubee.net/article/55635
위 댓글 참조 URL 에 보면 대응방법 나와 있습니다.
(SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 9) 와 조인하는 방법
WITH t AS ( SELECT 1000 a, 3000 b, '+3341' c, 0 lvl FROM dual UNION ALL SELECT 1000, 3003, '+3341,+3374,+3388,+3391', 3 FROM dual UNION ALL SELECT 1000, 3004, '+3359' , 0 FROM dual UNION ALL SELECT 1000, 3004, '-3518,-3607' , 1 FROM dual UNION ALL SELECT 1000, 3005, '+3344,+3374,+3518' , 2 FROM dual UNION ALL SELECT 1000, 3010, '+3341' , 0 FROM dual UNION ALL SELECT 1000, 3011, '+3374,+3518' , 1 FROM dual UNION ALL SELECT 1011, 3004, '+3518,+3606,+3606' , 2 FROM dual UNION ALL SELECT 1013, 3038, '+3293,+3560' , 1 FROM dual UNION ALL SELECT 2206, 3001, '+3393,+3393' , 1 FROM dual UNION ALL SELECT 2447, 3010, '+3341' , 0 FROM dual ) SELECT a.a , a.b , a.lvl , b.lv , REGEXP_SUBSTR(a.c, '[^,]+', 1, b.lv) x FROM t a , (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 9) b WHERE b.lv <= a.lvl + 1 ORDER BY a, b, lv ;