SQL Server查询递归 [MS SQLServer]
DECLARE @id INT  
SET @id = 2; --【当前ID】
WITH Recursives  AS
(
    --定位点成员定义
    SELECT *,
           0 AS LEVEL
    FROM   PE_FileCategory
    WHERE  id =@id 
    UNION ALL
    --递归成员定义
    SELECT E.*,
           LEVEL + 1
    FROM   PE_FileCategory AS E
           INNER JOIN Recursives AS D
                ON  E.ParentId = D.id
)
SELECT *

FROM   Recursives OPTION(MAXRECURSION 100)