by 짱구 [SQL Query] scalar subquery 복합행 단일행 [2012.02.29 12:43:05]
scalar subquery 작성했는데요.
SELECT (
SELECT SUBSTR (MAX (SYS_CONNECT_BY_PATH (NAME, ',')), 2) NAME
FROM (
SELECT NAME
, ROW_NUMBER() OVER (ORDER BY T1.ID) rnum
FROM TABLE1 T1, TABLE2 T2
WHERE T1.ID = T2.ID
AND T1.TOP_ID = TT.TOP_ID)
START WITH rnum = 1
CONNECT BY PRIOR rnum = rnum - 1) NAME
FROM TABLE TT
WHERE TT.TOP_ID = '1'
제가 하고자 하는일은 TT.TOP_ID가 1인 행이 여러행입니다. 이 여러행에 NAME을 합쳐서
만약 데이터가 아래와 같다면
-------------
안녕
친구
반가워
-------------
이를
-----------------------------
안녕, 친구, 반가워
------------------------------
만들고 싶습니다.
그래서 알아낸게 SYS_CONNECT_BY_PATH 인데 scalar subquery 에 subquery 에
TT.TOP_ID 값을 전달 하려다 보니 scalar subquery에 subquery에서 인식을 못하네요.
접근 LEVEL 차수 한계가 있는듯싶습니다.
고수님들 아래의 문장 어떻게 바꾸워야 하나요?
이중 조건은
1. scalar subquery를 써야 하고
2. scalar subquery에 subquery 내에 AND T1.TOP_ID = 이부분에 '1' 값을 매핑을 못합니다.
그래서 꼭 TT.TOP_ID 값을 전달하는 방식을 알아야 할것같습니다.
감사합니다.