[英]MySQL Query to get all Children in tree when we pass parent_id
我一直在查看查询结果,该结果是已传递给查询的上级emp_id下的雇员总数。
示例:对于emp_id 1,他的报告者为'2,3,4,5',对于emp_id 3,其报告者为'6,7',而在emp_id 6下又为'8,9'为报告者, emp_id 9报告人为'10'
现在,当我将manger_id'1'传递给查询时,我应该获得全部9名员工。
下面是我的查询,如果一个雇员下有40名雇员,那将不起作用。
SELECT manager_id,emp_id FROM users ,(SELECT @head := 2) head
WHERE FIND_IN_SET(manager_id, @head) > 0 AND @head := CONCAT(@head, "," , emp_id) ORDER BY manager_id
在我的表格结构中,每个emp_id都有一个manager_id列
请帮助与MySQL查询的MySQL函数。
请在下面查询。 您可以将硬编码的管理器ID值放在“初始化”部分,也可以传递变量。
select EmpID,
ManagerID
from (select ManagerID, EmpID from employee
order by ManagerID, EmpID) employee_sorted,
(select @pv := '1') initialization
where find_in_set(ManagerID, @pv) > 0
and @pv := concat(@pv, ',', EmpID)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.