0
点赞
收藏
分享

微信扫一扫

Sqlserver with的递归用法

伊人幽梦 2022-03-12 阅读 68
sql
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
举报

相关推荐

0 条评论