数据库教程:mssql sqlserver with cte表达式(递归)找出最顶值的方法分享

摘要: 下文通过递归的方式找出最顶级部门的方法分享,如下所示: 实验环境:sql server 2008 R2 下文通过cte-with表达式实现递归,获取一个公司的顶级部门,如下所示 例:部门表 …

摘要: 下文通过递归的方式找出最顶级部门的方法分享,如下所示: 实验环境:sql server 2008 r2


下文通过cte-with表达式实现递归,获取一个公司的顶级部门,如下所示 例:部门表

create table [maomao365.com]  (keyid int ,parentid int,  deptname nvarchar(30))    insert into [maomao365.com]  (keyid,parentid,deptname)  values  (1,0,'总经办'),  (2,0,'it中心'),  (10,1,'销售部'),  (11,1,'售后部'),  (111,11,'售后1'),  (1111,111,'售后1_1'),  (12,1,'市场部'),  (21,2,'运维部'),  (22,2,'开发部')    ---例1:获取 售后部keyid=1111所在的顶级部门  ;  with testa( [keyid], [parentid],deptname)  as  (  select keyid, parentid,deptname  from [maomao365.com]  where keyid = 1111  union all  select a.keyid, a.parentid,a.deptname  from [maomao365.com] a  inner join testa on a.[keyid] = testa.[parentid]  --递归  )    select * from testa where parentid=0;      go    truncate table [maomao365.com]  drop  table [maomao365.com]

 

需要了解更多数据库技术:mssql sqlserver with cte表达式(递归)找出最顶值的方法分享,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!



转自:https://www.maomao365.com/?p=7829

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/624913.html

(0)
上一篇 2021年5月25日
下一篇 2021年5月25日

精彩推荐