ORDER SIBLINGS BY 0 1 2,171

by 농부지기 [SQL Query] [2015.10.26 12:54:49]


connect by 에서 정전개 할때와 역전개할때의 order siblings가 반대로 먹히는거 같네요.

즉, 정전개에서 order by는 정상적으로 상하 구조로 정렬이 되는데요.

    역전개에서는 하위가 먼저 나오고, 상위가 나중에 나오네요.

어떻게 해야 될지 부탁 합니다.

 

--정전계
SELECT B.*
  FROM DIS001TV B
 CONNECT BY B.DWG_BUSN_CD = PRIOR B.DWG_BUSN_CD
        AND B.CTGR_SNO    = PRIOR B.UP_CTGR_SNO
 ORDER SIBLINGS BY B.STDIL_SEQ ;
 
 --역전계 
SELECT B.*
  FROM DIS001TV B
 CONNECT BY PRIOR B.DWG_BUSN_CD = B.DWG_BUSN_CD
        AND PRIOR B.CTGR_SNO    = B.UP_CTGR_SNO
 ORDER SIBLINGS BY B.STDIL_SEQ ;

 

by 마농 [2015.10.27 08:56:16]

쿼리가 이상하네요?
보통 정전개라 함은 PRIOR cd = up_cd 로 전개 합니다.
역전개는 cd = PRIOR up_cd 이구요.
올리신 쿼리는 반대네요


또한 START WITH 절이 없네요?
이 상태에서의 정렬이 무슨 의미가 있을 런지?

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