5
현재 CTE 쿼리를 실행하여 대부분의 재귀 적 예제와 유사한 직원 테이블에서 직원 계층 구조를 재귀 적으로 작성합니다. 내가 갇혀있는 곳은 한 명의 직원을 쿼리하고 그 위에 계층 구조를 검색하려고하는 것입니다. 내가 끼 었어SQL CTE 재귀 : 상위 레코드 반환
with employeeMaster as (
select p.EmployeeID, p.MgrID, p.Name
from Employees p
where p.MgrID is null
union all
select c.EmployeeID, c.MgrID, c.Name
from employeeMaster cte inner join Employees c on c.MgrID = cte.EmployeeID
)
select * from employeeMaster
은 다음과 같습니다
Employees
===========================================================================
EmployeeID MgrID Name
1 null Joe
2 1 John
3 2 Rob
4 2 Eric
다음 날 위에서 아래로 계층 구조를 표시 할 수 있습니다 SQL은 다음과 같습니다과 아래 내가 해결하려고 노력하고있는 테이블의 예입니다 가장 낮은 수준의 직원 인 Rob이나 Eric을 쿼리하고 Joe> John> Eric의 상위 계층 구조를 반환하는 방법을 알 수는 없습니다. 이것은 쉬운 일인 것처럼 보이지만 나는 내 삶을 위해 그것을 발견 할 수 없다.
내 게시물에 표 예제를 사용하여 Eric을 쿼리하여 그의 레코드와 그 위에있는 두 사람의 레코드가 표시된 레코드 셋을 반환하고 싶습니다. 최종 목표는 모든 직원을 능란한 쿼리로 삼아 그 직원의 사슬을 맨 위에 표시하는 것입니다. – Tehrab
나는 에릭과 그의 매니저를 줄 편집했다. –
항상 간단한 것들. 답변으로 표시되었습니다. – Tehrab