zoukankan      html  css  js  c++  java
  • SQL Server使用递归查询数据

    功能描述:有两张表,一张业务部门表A(A表中存某公司的所有业务部门信息),另一张表为用户表B(B表中存某公司所有用户所在的业务部门信息),要求使用SQL语句查询出各个部门的用户数量(注意:统计各业务部门的用户数量时,需要将其下所有子部门的用户统计进去);

     表A:

       表B:

           

    方法描述:

        使用SQL Server的递归方式:

        1、先联合两张表查询数据,并将查询出的结果存放在临时表中;

        2、使用cte方法从临时表中查询数据;

        具体的SQL脚本如下:

        

    select 
        B.用户名,
        B.业务部门,
        A.上级部门
        into #Table1
    from B left join A  on B.业务部门名称 = A.主键;
    with cte as
        (
            select 
                用户名,
                业务部门,
           上级部门, from #Table1 c where c.业务部门 = 102
         union all
         select
          用户名,
          业务部门,
          上级部门
        from cte d inner join #Table1 e on d.业务部门 = e.上级部门 )
      select SUM(用户名) 用户数量
      from cte

    drop table #Table1
  • 相关阅读:
    matplotlib
    python 面向对象(进阶篇)转载武沛齐
    Python 面向对象(初级篇)
    jupter nootbok 快捷键、NumPy模块、Pandas模块初识
    爬虫系列之mongodb
    python迟邦定
    爬虫之selenium模块
    爬虫数据解析的三方式
    爬虫之requests模块
    315题
  • 原文地址:https://www.cnblogs.com/yourchoose/p/4531221.html
Copyright © 2011-2022 走看看