728x90
반응형

부서명을 상위레벨부터 하위레벨까지 순차적으로 출력하되 동급 레벨은 좌측 정렬하고 레벨이 바뀔때 마다 부서명 앞에 '  --' 를 추가하여 들여쓰기가 되도록 한다.

부서레벨은 총 3레벨(0,1,2)로 구성되어 있으며 대표이사(0), 인사그룹(0), 인사팀(1), 재무팀(1),

인사파트(2), 교육파트(2), 총무파트(2)... 로 구동됨

 

[테이블 레이아웃]

 

[결과]는 다음과 같습니다.

 

대표이사

인사그룹

인사그룹>> 인사팀

인사그룹>> 인사팀>>인사파트

인사그룹>> 인사팀>>교육파트

인사그룹>> 인사팀>>총무파트

인사그룹>> 재무팀

인사그룹>> 재무팀>>재무파트

인사그룹>> 재무팀>>구매파트

 

출력되려면..

MS_SQL 2005에선 WIth 를 사용하면 금방인데 .. ORACLE에선 ..영 못찾겠네요.

 

 

 

 

질문의 글과 제시된 결과가 상이하군요...결과기준으로 작성 해 드리니 나머지는 알아서...;

 

데이터의 계층관계가 약간 모호합니다.

인사그룹이 대표이사 아래있는 것이 아니라면 위 결과처럼 나오려면 상위부서로 대표이사부서코드를 가진 조직이 없어야 합니다...참고하세요...; 

 

SELECT SUBSTR(SYS_CONNECT_BY_PATH(deptname, '>>'), 3) AS 결과

FROM dept

START WITH 부서레벨 = 0

CONNECT BY PRIOR dept = pdept

ORDER SIBLINGS BY dept

;

 

흠...쓰고보니 오라클도 WITH는 들어있군요...^^;

 

오라클level 이란 함수가 있을겁니다..

 

한번 이용해 보심이....

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,