2014-11-15 3 views
1

모든 기능이 재귀 CTE에서 작동하지 않습니다 ...?SQL의 재귀 CTE

내가 모든 쓸만 재귀 CTE에서 모든 값을 얻을 수있는 조합하기 전에 값을 검색하고있다 :

with CTE_Manager(id,manager,man_id,[Level]) 
as 
(
    select id,manager,man_id,1 
    from manager 
    where man_id is null 

union all 

    select a.id,a.manager,a.man_id,b.[Level]+1 
    from manager a 
    join CTE_Manager b 
    on b.man_id= a.id 
) 
select a.manager,ISNULL(a.manager,'SUPER BOSS'),b.Level 
from CTE_Manager a 
join CTE_Manager b 
on a.man_id=b.id 

사실 내가 출력을 얻고있다.

+2

귀하의 궁금한 점은 무엇입니까? "노동 조합이 모두 효과가 없다"는 것은 무엇을 의미합니까? 정확히 당신이 성취하고자하는 것은 무엇입니까? 샘플 데이터 및 예상 출력을 보여줍니다 (질문 편집, 주석에 게시하지 마십시오) –

답변

0

조인의 on 절이 잘못된 방법입니다. b.id = a.man_id 여야합니다.

관리자 권한이없는 모든 관리자를 선택한 다음 관리자를 찾으려고했습니다. 내가 바라는 부분이 모두 부하 직원이야.