2
"EmployeeID"열과 Employee의 Boss (BossID)를 나타내는 열이있는 Employee 테이블이 있습니다.이 Boss (BossID)는 "Employee"테이블의 직원입니다. 주어진 "EmployeeID"에서 최상위 보스까지 계층 구조를 어떻게 추적 할 수 있습니까? 나는 당신이 자기의 어떤 종류를 사용할 필요가 당신에게표에서 계층 구조 추적
마누
"EmployeeID"열과 Employee의 Boss (BossID)를 나타내는 열이있는 Employee 테이블이 있습니다.이 Boss (BossID)는 "Employee"테이블의 직원입니다. 주어진 "EmployeeID"에서 최상위 보스까지 계층 구조를 어떻게 추적 할 수 있습니까? 나는 당신이 자기의 어떤 종류를 사용할 필요가 당신에게표에서 계층 구조 추적
마누
감사 당신이 설명하는 테이블 구조와 기본적으로 가입 자체가 또한 내가 SQL 서버 2005
를 사용하고,이에 접근 가입하지 않으 그러나 재귀 CTE를 사용하여 계층 구조의 임의의 깊이를 처리 할 수 있습니다.
WITH cte AS
(
SELECT EmployeeID, BossId
FROM Employee where EmployeeID = @EmployeeID
UNION ALL
SELECT e.EmployeeID, e.BossId
FROM Employee e JOIN cte ON cte.BossId = e.EmployeeID
)
SELECT EmployeeID
FROM cte
저장 프로 시저 종류를 찾으십니까? 자체 결합이나 저장 프로 시저를 사용하지 않으면이 데이터베이스 레이아웃으로는 불가능하다고 생각합니다. – theomega
'hierarchical-data' 태그를 추가했습니다. 이 질문 및 관련 질문은 스택 오버플로에서 여러 번 나타났습니다. 당신은 묻기 전에 약간의 연구를함으로써 많은 시간을 절약 할 수 있습니다. –