-
connect by ~ order siblings by~♣ Tech & Biz Salon/Tech 2009. 12. 3. 12:28
Order siblings by 구문소개를 위해 글 올립니다.
SELECT 회사코드, 조직코드, 부모조직코드, 랭킹 FROM 조직코드테이블
WHERE 회사코드 = 'A01003'
START WITH 부모조직코드 IS NULL
CONNECT BY PRIOR 조직코드 = 부모조직코드
--ORDER BY 랭킹
ORDER SIBLINGS BY 랭킹
랭킹 컬럼은 동일 부모를 가진 조직코드간의 랭킹값을 가지고 있습니다.
주석처리한 ORDER BY 랭킹 구문을 실행하면 쿼리결과에서의 Hierachy 가 깨진것을 확인할수 있습니다.
이런부분을 해소하기 위해 기존에는 관련한 pl-sql 오브젝트를 만들어 사용하는 등의 방법을 이용했던것 같기도 합니다.
9i 이후부터는 ORDER SIBLINGS BY 구문을 이용해 원하는 결과를 얻어낼 수 있습니다.
관련 URL
http://www.psoug.org/reference/connectby.html
==> 쿼리짤때 참고하는 좋은 사이트 입니다.
'♣ Tech & Biz Salon > Tech' 카테고리의 다른 글
JDBC 연결 실패, 성공이 반복되는 현상 (0) 2009.12.03 연속된 숫자 레코드별 반환, 1년치 날짜 레코드별 반환 쿼리, 달력데이터 생성 SP (0) 2009.12.01 GRANT, SYNONYM 문 추출하기 (0) 2009.11.24