SELECT *
INTO #DiGui
FROM (SELECT 8 AS Id,
5 AS ParentId
UNION
SELECT 15,
5
UNION
SELECT 30,
15
UNION
SELECT 23,
15
UNION
SELECT 42,
30
UNION
SELECT 39,
30
UNION
SELECT 53,
39
UNION
SELECT 67,
39
UNION
SELECT 88,
39
UNION
SELECT 107,
39) AS T
WITH temp([Id],[parentid])
AS (SELECT Id,
parentid
FROM #DiGui
WHERE [parentid]=15
UNION ALL
SELECT a.Id,
a.parentid
FROM #DiGui a
INNER JOIN temp
ON a.[parentid]=temp.[Id])
SELECT *
FROM temp
Sqlserver with的递归用法
最新推荐文章于 2023-07-25 08:46:32 发布