2011-04-12 6 views
0

이 같은 테이블이 있습니다 :표시 열

Parent | Child 
1  | 11 
11  | 12 
11  | 13 
12  | 14 
12  | 14 

패스 1, 그것은 반환해야하는 경우 모두 '1'어린이 : 11, 12, 13, 14

+0

이 고전 전이 폐쇄 문제 –

+1

이있는 HTML, SQL, 엑셀입니다, 또는 나무 테이블? – bdares

+0

여기에서 추측 할 수 있지만 숙제가있는 경우 숙제로 질문해야합니다. – ChrisWue

답변

0
-- Test data 
declare @T table (ParentID int, ChildID int) 
insert into @T values(1,  11) 
insert into @T values(11,  12) 
insert into @T values(11,  13) 
insert into @T values(12,  14) 
insert into @T values(12,  14) 

-- ID to search for 
declare @ParentID int = 1 

-- Recorsive cte 
;with cte as 
(
    select T.* 
    from @T as T 
    where T.ParentID = @ParentID 
    union all 
    select T.* 
    from cte as C 
    inner join @T as T 
     on C.ChildID = T.ParentID 
) 
select distinct ChildID 
from cte 

결과

ChildID 
------- 
11 
12 
13 
14