码迷,mamicode.com
首页 > 数据库 > 详细

SqlServer 递归与函数的结合获取部门集合

时间:2014-11-24 22:47:19      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:sqlserver 递归 函数 获取所属部门集合

  递归格式:

     WITH CTE名称(字段列表) 
         AS 
         ( 
                查询语句 
          ) 

  获取当前部门的所有下级部门语句:

        create function GetchildrenDepartments(@currentdepartid int)

        returns table

        as

            return

                    with cte(id,mainid)

                    as

                    (select id,mainid from u_department where id=@currentdepartid

                      union all

                      select a.id,a.mainid from u_department a inner join cte b on a.mainid=b.id

                    )

                    select * from cte

  特别注意:

    如果想获取当前部门的所有上级部门集合:红色部分应该替换成 a.id=b.mainid

本文出自 “我的地盘” 博客,请务必保留此出处http://2160285.blog.51cto.com/2150285/1582132

SqlServer 递归与函数的结合获取部门集合

标签:sqlserver 递归 函数 获取所属部门集合

原文地址:http://2160285.blog.51cto.com/2150285/1582132

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!