데이터로는
테이블 A
ID PC_NM PAR_ID
1 PC방1 NULL
2 PC방2 1
3 PC방3 2
4 PC방4 1
5 PC방5 2
6 PC방6 NULL
7 PC방7 6
8 PC방8 7
이런식으로 데이터가있으면
계층형 쿼리로 사용하여
PC방1 PC방2 PC방3
PC방1 PC방4 PC방5
PC방6 PC방7 PC방8
이렇게 상위코드가 NULL이면 1레벨 , 1레벨을 상위코드로 가지고있으면 2레벨, 2레벨을 상위코드로 가지고있으면 3레벨로 바라보고
가져오고 싶습니다.
SELECT (SELECT PC_NM FROM AAA a2 WHERE a2.ID = a1.PAR_ID) AS c1,
decode(a1.PAR_ID,'','',a1.PC_NM ) AS c2,
(SELECT PC_NM FROM AAA aa2 WHERE aa2.PAR_ID = a1.ID)AS c3
FROM AAA a1
현재상위 아이디가 가지고있는 PC방이름을 가져오고, 두번째로 자기 자신을 가져왔는데
마지막 3번째 SELECT문에서 현재 자신을 상위로 가지고있는 데이터중에서 한개를 가지고오고 싶은데 여러건을 가지고 오니 단일행 관련 에러떨어지면서 안되네요 ㅠㅠ 무슨 좋은 방법이 없을까요?
이전 질물글에 답글 있네요.
http://gurubee.net/article/83736