간단한 SQL Server 2008 재귀 쿼리를 사용하려고합니다.SQL 재귀 쿼리는 마지막 행만 반환합니다.
에 따라 이러한 예 : I가 기대 된 다음 쿼리
with recury as (
Select
fs1.ID ,fs1.FParent,fs1.FName
from FoldersStructure as fs1
where fs1.FParent =null
union all
select fs2.id,fs2.FParent,fs2.FName
from FoldersStructure as fs2
inner join recury as r on fs2.FParent= r.ID
)
select ID,FParent,FName
from recury
where ID=8
와
ID fParent fName
2 NULL root
3 2 Drug_Error
4 2 Incident
5 4 2007
6 4 2009
7 5 2007-1
8 7 2008-2
: http://msdn.microsoft.com/en-us/library/ms186243.aspx 및 SQL Server recursive query
나는 테이블을 가지고 ID와 parentID와 얻으세요 :
2 null root
4 2 incident
5 4 2007
7 5 2007-1
8 7 2007-2
그러나 나는 마지막 것을 얻습니다. 사전에 감사합니다. 는 식 (8)은 아래의 첫 번째 의견을 바탕으로 행에 대한 결과 집합을 제한하기 때문에
Where 절을 생략 해 보셨습니까? 특히 마지막 행만 가져올 것이라고 말합니다. –
@DaveJohnson, ID = 8을 제거하면 테이블의 모든 행을 가져옵니다. – Lambda
CTE에서 선택된 열 이름이 예제 테이블의 열 이름과 일치하지 않습니다! –