加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

怎样操作SQL Server With As递归获取层级相关数据

发布时间:2016-10-28 18:03:06 所属栏目:MsSql教程 来源:站长网
导读:副标题#e# WITH AS的含义 WITH AS短语,,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会 被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数 据的

如果已知当前用户ID我要想知道他的上级领导有哪些,可编写sql语句如下

WITH    Emp   
          AS ( SELECT   ID ,   
                        EName ,   
                        ParentGUID   
               FROM     dbo.Employee   
               WHERE    ID = '5C8214EC-258B-4C44-9F31-206E499F0285'
               UNION ALL 
               SELECT   d.ID ,   
                        d.EName ,   
                        d.ParentGUID   
               FROM     Emp   
                        INNER JOIN dbo.Employee d ON d.ID = Emp.ParentGUID   
             )   
    SELECT ID,EName   
    FROM    Emp

查询结果为张跃光以及他的上级领导,如下图

怎样操作SQL Server With As递归获取层级相关数据

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读