부서 Table 과 사용자 Table을 조인해서 트리구조로 출력하고 있습니다.
SELECT
A.DEPT_CODE
, A.DEPT_NAME
, A.P_DEPT_CODE
, A.DEPT_SEQ
, A.DEPT_LV
, B.USER_NAME
, B.USER_ID
FROM (
SELECT
DEPT_CODE
, LPAD(' ' , 4*(LEVEL-1)) || DEPT_NAME AS DEPT_NAME
, P_DEPT_CODE
, SEQ AS DEPT_SEQ
, LEVEL AS DEPT_LV
FROM DEPT
START WITH PAR_ID = '000000101'
CONNECT BY PRIOR DEPT_CODE = DECODE(DEPT_CODE, '000000101', NULL, P_DEPT_CODE)
ORDER SIBLINGS BY DEPT_SEQ ASC
) A
,
USER B
WHERE A.DEPT_CODE = B.DEPT_CODE
이렇게 조회 했을 때 와 LPAD(' ' , 4*(LEVEL-1)) || DEPT_NAME AS DEPT_NAME 이 부분을 DEPT_NAME 만 했을 때
조회 되는 데이터 순서가 틀리게 나와서 화면에 출력할때 약간 문제가 발생했습니다.
일단 TRIM(LPAD(' ' , 4*(LEVEL-1)) || DEPT_NAME) AS DEPT_NAME 이런 방식으로 사용해서
최상위 정보부터 화면에 출력하면서 트리구조를 생성하고 있는데무슨이유로 조회되는 데이터 순서가 다르게 나오는 이유가 궁금합니다.