zoukankan      html  css  js  c++  java
  • SQLSERVER的递归查询

     
    项目中有用户组表UserGroup如下:
    其中PID表示当前组的上级组
    表数据如下:
    现在想查询出顶级组[没有上级组叫顶级组]A1组的所有子孙组ID,SQL如下:
    [sql]  www.2cto.com 
    --查询子节点 
    with  
        RTD1 as( 
    select id ,pid from UserGroup
        ), 
        RTD2 as( 
            select * from RTD1 where id=6 
            union all 
            select RTD1.* from RTD2 inner join RTD1  
            on RTD2.id=RTD1.PID 
        ) 
    select * from RTD2 
      www.2cto.com 
    查询结果如下:
    id          pid
    ----------- -----------
    6           NULL
    17          6
    18          6
    20          6
    21          20
    22          20
    23          20
    24          20
    29          20
    25          23
    26          23
    28          26
    27          25
    (13 行受影响)
     
    现在想查询出A1-B3-C3-D2组的所有上级组ID,SQL如下:
    [sql]
    --查询父节点 
    with  
        RTU1 as( 
            select id ,pid from UserGroup 
        ), 
        RTU2 as( 
            select * from RTU1 where id=26 
            union all 
            select RTU1.* from RTU2 inner join RTU1  
            --on myT2.id=myT.PID 
            on RTU2.PID=RTU1.ID 
        )    www.2cto.com 
    select * from RTU2 
     
    查询结果如下:
    id          pid
    ----------- -----------
    26          23
    23          20
    20          6
    6           NULL
    (4 行受影响)
     
  • 相关阅读:
    WebDriver关闭窗口
    WebDriver切换窗口
    WebDriver处理截屏
    获取当前窗口的地址栏url地址
    WebDriver获取当前窗口的title
    复选框
    勾选框
    单选框
    VUE 中获取摄像头进行扫码
    js byte 与 进制 相互转换
  • 原文地址:https://www.cnblogs.com/tanbin1766/p/3156268.html
Copyright © 2011-2022 走看看