부모없는 계층쿼리...질문 0 5 2,445

by 발개 [Oracle 기초] 부모없는 계층쿼리 계층 CONNECT BY [2014.07.14 11:38:23]


WITH T
     AS (SELECT 'A' AS KEY, '' AS UP_KEY, '20140712' AS DT FROM DUAL
         UNION ALL
         SELECT 'B' AS KEY, 'A' AS UP_KEY, '20140713' AS DT FROM DUAL
         UNION ALL
         SELECT 'C' AS KEY, 'A' AS UP_KEY, '20140714' AS DT FROM DUAL
         UNION ALL
         SELECT 'D' AS KEY, 'E' AS UP_KEY, '20140714' AS DT FROM DUAL)
SELECT *
  FROM T

 

KEY  UPKEY  DT

A        20140712
B   A   20140713
C   A   20140714
D   E   20140714

 

컨넥트바이절을 쓰면 E가없기때문에 D가 조회되지 않습니다..

표현하고싶으면 어떻게 해야할까요?

by DarkBee [2014.07.14 12:30:50]

연결고리가 없는데 어떻게 만들죠.. 데이터를 강제로 만들겠다는 얘긴가요


by 발개 [2014.07.14 13:02:11]

음..ㅠ없는건 없는대로 그냥 보여주는건 불가능한가요??


by DarkBee [2014.07.14 13:09:32]

연결이 안되는 녀석을 어떻게 강제로 연결을 해요 ㅎ


by 마농 [2014.07.14 13:11:41]
SELECT key, up_key, dt
     , LEVEL lv
     , SYS_CONNECT_BY_PATH(key, '-') path
  FROM t a
 START WITH NOT EXISTS (SELECT * FROM t WHERE key = a.up_key)
 CONNECT BY PRIOR key = up_key
 ORDER SIBLINGS BY key
;

 


by 발개 [2014.07.14 14:21:34]

감사합니다!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입