zoukankan      html  css  js  c++  java
  • 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 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 where [parentUserId]<>0
    /*
    userid      username   parentUserId parentUserName level
    ----------- ---------- ------------ -------------- -----------
    2           aaaaa      1            admin          2
    3           bbbbb      2            aaaaa          3
    4           ddddd      3            bbbbb          4
      
    (3 行受影响)
    */
  • 相关阅读:
    最小顶点覆盖,最大独立集,最小边覆盖
    Security Badges
    异常
    List和Set
    数据结构
    Collection集合
    Excel序号递增
    VM虚拟机桥接模式无法联网解决办法
    mybatis-Plus方法指定更新的字段
    maven项目 导出相关依赖包到指定文件夹
  • 原文地址:https://www.cnblogs.com/soundcode/p/7073916.html
Copyright © 2011-2022 走看看