안녕하세요.^^
WITH RECURSIVE 문을 이용한 계층쿼리의 정렬 (Oracle - Order siblings by)
이 가능한 지 궁금해서 질문 드립니다.
WITH RECURSIVE 문을 이용한 계층쿼리에서 정렬조건을 계층표현으로 사용하고
있는데, 계층을 유지한 상태에서 first level 에서부터 적용되는 정렬조건을 지정할 수
있을까요?
ex) 아래 구문에서 계층유지하며 emp_name 순으로 정렬
(사실은 그 뒤 연속정렬조건을 주고 싶으나 쉬운 예시로 대체)
WITH RECURSIVE t AS (
SELECT ARRAY[emp_id] AS hierarchy
,emp_id
,manager_id
,emp_name
FROM recursive_test
WHERE manager_id = 0
UNION ALL
SELECT t.hierarchy || a.emp_id
,a.emp_id
,a.manager_id
,a.emp_name
FROM recursive_test a
JOIN t ON a.manager_id = t.emp_id
)
SELECT emp_id
,manager_id
,emp_name
,hierarchy
FROM t
ORDER BY hierarchy;
|