SQL 질문 0 3 2,451

by 김재신 [2014.01.03 15:30:57]



ID      CD
DC2011090003    71,72,73,74,75


결과값
DC2011090003 71
DC2011090003 72
DC2011090003 73
DC2011090003 74
DC2011090003 75

이런식으로 값이 나오도록 쿼리를 짜고 싶은데 connect by 를 썼더니 데이터가 너무 늘어나서 테스트를 할수가 없네요
도움좀 주세요~


by 마농 [2014.01.03 15:34:45]

by 김재신 [2014.01.03 16:34:28]

마농님 덕분에 해결했습니다.
감사합니다.


by 아발란체 [2014.01.03 15:39:27]
 
WITH T(idx, val) AS (
 SELECT 'DC2011090003', '71,72,73,74,75' FROM DUAL
)
SELECT
 idx, REGEXP_SUBSTR(val, '[^\,]+', 1, LEVEL) AS val
FROM
 T
CONNECT BY
 LEVEL <= REGEXP_COUNT(val, ',') + 1
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입