본문 바로가기

connect by

CONNECT BY를 이용한 정렬 EXPENSE_CODE = 기본키 EXPENSE_PCODE = 부모의 정보를 가지고 있는 키 SELECT EXPENSE_CODE, EXPENSE_PCODE, EXPENSE_NAME_KOR, SORT_NO, ROWNUM RNT, EXPENSE_LEVEL FROM BSC_EXPENSE_CODE WHERE EXPENSE_CODE IS NOT NULL START WITH EXPENSE_CODE = '111' CONNECT BY PRIOR EXPENSE_CODE = EXPENSE_PCODE ORDER BY SORT_NO EXPENSE_CODE 값이 NULL인것을 제외한 START WITH 값을 시작으로 해서 값을 추출 해낸다. 그리고 뽑아온 데이터는 ORDER BY에 의해 순차적으로 정렬이 되어짐 SORT_NO는.. 더보기
CONNECT BY~ 와 ORDER SIBLINGS BY ORDER SIBLINGS BY : 특정 컬럼에 대한 Order by를 실행(조회된 데이터에 대해) CONNECT BY : 상위 코드와 하위 코드를 이용하여 Tree 형태로 보여줄수 있는 것 SELECT ORG_CODE, ORG_NAME, LEVEL AS ORG_LEVEL, CONNECT_BY_ISLEAF AS LEAF_YN, DISP_RNK FROM TH_ORG START WITH ORG_CODE = '20060007' CONNECT BY PRIOR ORG_CODE = UPORG_CODE ORDER SIBLINGS BY DISP_RNK ; 붉은색 부분은 ORDER SIBLINGS BY 미적용 ====================================================== ORG_COD.. 더보기
CONNECT + START 관련 예제 조직도 가져오는 SQL 자꾸 까먹는다 -_-;; 가끔 사용하다보니 어쩔수 없긴한데... 암튼 아래와 같이 기본형식으로 사용이 가능하다. ===================================================================== SELECT dept_id, dept_name, up_dept_id, use_flag, LEVEL AS level_no FROM sg_dept WHERE use_flag = 'Y' START WITH dept_id = '105' 더보기