• sql 递归查询所有的下级


    --> 生成测试数据表: [tb]
    IF OBJECT_ID('[Users]') IS NOT NULL
        DROP TABLE [Users]
    GO
    CREATE TABLE [Users] ([userid] [int],[username] [nvarchar](10),[parentUserId] [int],[parentUserName] [nvarchar](10))
    INSERT INTO [Users]
    SELECT '1','admin','0',NULL UNION ALL
    SELECT '2','aaaaa','1','admin' UNION ALL
    SELECT '3','bbbbb','2','aaaaa' UNION ALL
    SELECT '4','ddddd','3','bbbbb'
    -->SQL查询如下:
    ;with t as
    (
      select *,level=1 from Users where [parentUserId]=0
      union all
      select a.*,level+1 from Users a join t b on a.parentUserId=b.userid
    )
    select * from t where [parentUserId]<>0
    /*
    userid      username   parentUserId parentUserName level
    ----------- ---------- ------------ -------------- -----------
    2           aaaaa      1            admin          2
    3           bbbbb      2            aaaaa          3
    4           ddddd      3            bbbbb          4
     
    (3 行受影响)
    */
    

      

  • 相关阅读:
    hdu 2295 DLX
    hdu 4714 树形DP
    hdu 4711 动态规划
    hdu 3656 DLX
    hust 1017 DLX
    hdu 3938 并查集
    hdu 3652 打表
    poj 2152 树形DP
    洛谷P1266速度限制
    洛谷P1841重要的城市
  • 原文地址:https://www.cnblogs.com/Gold-fangjin/p/6398133.html
Copyright © 2020-2023  润新知