반응형
Ant_U
DBA 개미
Ant_U
전체 방문자
오늘
어제
  • 분류 전체보기 (262)
    • AWS (3)
    • C# (1)
    • SQL (236)
      • MYSQL (186)
      • MSSQL (50)
    • 자격증 (20)
      • SQLD (12)
      • SQLP (8)

인기 글

최근 글

250x250
hELLO · Designed By 정상우.
Ant_U

DBA 개미

[MSSQL] GetAncestor 사용 방법 및 예시
SQL/MSSQL

[MSSQL] GetAncestor 사용 방법 및 예시

2024. 4. 9. 11:08
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 사용 방법 및 예시  (1) 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
    'SQL/MSSQL' 카테고리의 다른 글
    • [MSSQL] GetLevel 사용 방법 및 예시
    • [MSSQL] GetDescendant 사용 방법 및 예시
    • [MSSQL] hierarchyid 메서드 사용 방법 및 예시
    • [MSSQL] smalldatetime 사용 방법 및 예시
    Ant_U
    Ant_U

    티스토리툴바