[英]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.