##获取所有上级部门
select temp.parent_id dept_id
from t_department d,
(SELECT
@deptId deptId,
(SELECT @deptId:=dd.parent_id FROM t_department dd WHERE dd.dept_id = deptId) parent_id
FROM
(SELECT @deptId:=465) vars,
t_department
WHERE
@deptId != 0) temp
where d.dept_id = temp.deptId and temp.parent_id != 0;
##查询该部门所有子部门
SELECT dept_id
FROM
t_department,
(SELECT @pv :=465) b
WHERE FIND_IN_SET(parent_id,@pv) And @pv := concat(@pv, ',', dept_id);
MySql中的递归
于 2022-02-28 16:27:47 首次发布