IT/MSSQL
부서같은 하이라키 구조의 정보 추출 쿼리
밤톨순이
2017. 1. 26. 11:15
-- 본부 또는 부서의 하위까지 포함 하기 위함
WITH Department_ (DeptId, DeptNm, Sort, ParentDeptId, Hierarchy)
AS
(
SELECT
DeptId, DeptNm, Sort, DeptId
,CONVERT(VARCHAR, DeptId) AS Hierarchy
FROM Department WITH(NOLOCK)
WHERE TenantId = '1171'
AND Depth = 0
UNION ALL
SELECT
A.DeptId, A.DeptNm, A.Sort, A.ParentDeptId
,CONVERT(VARCHAR, Hierarchy + ':' + CONVERT(VARCHAR, A.DeptId)) AS Hierarchy
FROM Department A WITH(NOLOCK)
INNER JOIN Department_ B ON A.ParentDeptId = B.DeptId
WHERE TenantId = '1171'
)