* 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
Posted by 농부지기
,