* Oracle - 조직 tree
1. 사용처 : 중진공
2. 내용 : 조직tree를 보여 줄 때 '기준일자'를 기준으로 조직tree를 조회할 수 있다.
기준일자란, 현재일자기준으로 조직을 보여주는 것이 아니고, 현재 보다 이전
일자를 아무때나 지정하여 해당일자의 조직으로 tree를 보여준다.
3. 테이블정의 : orm_org_relation : 조직 연관관계 테이블
orm_organization : 해당 조직코드의 정보
SELECT rel.hir_level org_level,
org.org_nm,
org.org_cd,
org.virtual_cd,
org.org_num,
org.org_nm_eng,
org.org_short_nm,
org.org_full_nm,
org.note,
org.org_id,
rel.up_org_id,
rel.up_org_cd,
rel.sta_ymd org_sta_ymd,
rel.end_ymd org_end_ymd,
org.com_org_cd,
org.org_type_cd,
rel.org_order ,
rel.org_rank,
org.location_cd,
org.biz_cd,
rel.org_line
FROM (SELECT LEVEL AS hir_level
,a.sta_ymd, a.end_ymd
,SYS_CONNECT_BY_PATH( TO_CHAR(a.org_rank, '000') || ':' ||a.org_id, '/') org_order
,a.org_id,a.up_org_id, a.org_rank, a.up_org_cd, a.org_line
FROM orm_org_relation a
START WITH a.org_id = ?
AND ? BETWEEN a.sta_ymd AND a.end_ymd
CONNECT BY PRIOR a.org_cd = a.up_org_cd
AND ? BETWEEN a.sta_ymd AND a.end_ymd
ORDER SIBLINGS BY a.org_rank
) rel
, orm_organization org
WHERE org.org_id = rel.org_id ;
'(DB) Oracle > SQL' 카테고리의 다른 글
Oracle - 조직 TREE SQL 2 (0) | 2017.01.18 |
---|---|
Oracle - SQL문에서_한글검색_방법 (0) | 2017.01.18 |
Oracle - 예제_SUBQUERY (0) | 2017.01.18 |
Oracle - 예제_FOR_UPDATE_WAIT (0) | 2017.01.18 |
Oracle - 예제_CASE_예제1 (0) | 2017.01.18 |