728x90
반응형
`GetAncestor()` 함수는 `hierarchyid` 데이터 형식에서 사용되며, 지정된 노드의 조상 노드를 반환하는 데 사용됩니다. 이 함수는 특정 노드의 상위 레벨 노드를 가져오는 데 유용합니다. `GetAncestor()` 함수는 다음과 같은 구문을 가집니다:
hierarchyid.GetAncestor(n)
여기서:
- `hierarchyid`는 계층 구조 데이터 유형의 변수 또는 열을 나타냅니다.
- `n`은 노드의 상위 레벨을 지정하는 정수입니다. 1은 부모 노드를, 2는 부모의 부모 노드를 나타냅니다.
예를 들어, 다음은 `EmployeeHierarchy` 테이블에서 각 직원의 부서 관리자(Manager)를 찾는 쿼리입니다.
SELECT
EmployeeID,
EmployeeName,
HierarchyPath.GetAncestor(1) AS DepartmentManager
FROM
EmployeeHierarchy
WHERE
EmployeeName != 'CEO'; -- CEO는 부서 관리자가 아니므로 제외
이 쿼리는 각 직원의 `EmployeeName`과 그들의 부서 관리자를 반환합니다. `HierarchyPath.GetAncestor(1)`은 각 직원의 부서 관리자를 찾기 위해 사용되며, 1을 인수로 전달하여 부모 노드를 찾습니다.
이제 각 직원의 부서 관리자를 알 수 있게 되었습니다. 이러한 방식으로 `GetAncestor()` 함수를 사용하여 계층 구조 데이터에서 조상 노드를 효과적으로 검색할 수 있습니다.
728x90
반응형
'SQL > MSSQL' 카테고리의 다른 글
[MSSQL] IsDescendantOf 사용 방법 및 예시 (0) | 2024.04.23 |
---|---|
[MSSQL] GetRoot 사용 방법 및 예시 (0) | 2024.04.22 |
[MSSQL] GetLevel 사용 방법 및 예시 (0) | 2024.04.22 |
[MSSQL] GetDescendant 사용 방법 및 예시 (0) | 2024.04.09 |
[MSSQL] hierarchyid 메서드 사용 방법 및 예시 (0) | 2024.04.09 |
[MSSQL] smalldatetime 사용 방법 및 예시 (0) | 2024.04.09 |
[MSSQL] datetimeoffset 사용 방법 및 예시 (0) | 2024.04.09 |
[MSSQL]DATE, DATETIME, TIME 날짜 시간 데이터 형식 (0) | 2024.04.09 |