하나의 로우데이터를 여러 로우로 변경? 1 3 2,414

by 깨어있는 시민 [SQL Query] [2012.10.10 11:26:25]


안녕하세요.

다음과 같은 결과가 있습니다. PL/SQL에서의 A 인자값과 B 인자값입니다.

A B
admin, takeuser 38%, 23%

즉, A 인자값에는 구분자 ','를 가진 값 admin, takeuser 이 있고,
B 인자값에는 구분자 ','를 가진 값 38%, 23% 이 있습니다.

이 로우를 다음과 같이 2개의 Row로 분류해서 리턴하고 싶은데,,

A B
admin 38%
takeuser 23%

이것저것 찾아보는데 명확하게 해결이 안되네요..-_-;
by 아발란체 [2012.10.10 13:25:19]
WITH T AS (
    SELECT 'admin, takeuser' AS f1,  '38%, 23%' AS f2 FROM DUAL
)
SELECT
    LTRIM(REGEXP_SUBSTR(f1, '[^,]+', 1, lv)) AS f1,
    LTRIM(REGEXP_SUBSTR(f2, '[^,]+', 1, lv)) AS f2
FROM
    T,
    (SELECT LEVEl AS lv FROM DUAL CONNECT BY LEVEL <= 2) T2

by 깨어있는 시민 [2012.10.10 14:02:42]
아발란체님, 감사합니다.
덕분에 좋은 구문 알게되었고, 시간을 줄일 수 있었네요.~

by 아발란체 [2012.10.10 14:06:13]
감사합니다. ^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입