加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (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 = '0CD19311-2CA1-4120-9554-11BFD8219AF9'
               UNION ALL 
               SELECT   d.ID ,   
                        d.EName ,   
                        d.ParentGUID   
               FROM     Emp   
                        INNER JOIN dbo.Employee d ON d.ParentGUID = Emp.ID   
             )   
    SELECT ID,EName   
    FROM    Emp

查询结果为杜高扬以及他的所有下属,如下图

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

是不是很方便的获取层级数据了呢!

(编辑:温州站长网)

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

热点阅读