SQL递归根据下拉框去获取申请人的上级

发布时间 2023-09-26 10:40:03作者: stfzhuang

场景:

表单有下拉框,对应三个层级。

下一节点的办理人需要根据这个层级去获取申请人对应的上级。

 

解决思路:

用SQL公共表达式cte递归可以作为一个获取思路:

 with CTE as (select lastname,id,managerid from hrmresource where id = 2422

UNION ALL select a.lastname,a.id,a.managerid from hrmresource a inner JOIN CTE b on a.id=b.managerid  )select  lastname,id from CTE 
option (maxrecursion 2)

 

 

2422是申请人ID

maxrecursion 2  哪里的2是递归层级。

刚好对应下拉框的012

他会把申请的人所有上级全部查询出来,用order by 排序,然后用top 去取