Java_17 根据部门id递归查询子部门

根据部门id递归查询子部门

SELECT NAME
	,
	DepartmentId 
FROM
	cmu_property_people t5
	INNER JOIN (
	SELECT
		UnitGuid,
		DepartmentName,
		ischild 
	FROM
		(
		SELECT
			t1.UnitGuid,
			t1.DepartmentName,
		IF
			( find_in_set( ParentDepartmentId, @pids ) > 0, @pids := concat( @pids, ',', UnitGuid ), 0 ) AS ischild 
		FROM
			( SELECT UnitGuid, ParentDepartmentId, DepartmentName FROM sys_department t ORDER BY ParentDepartmentId, UnitGuid ) t1,
			( SELECT @pids := 'fe9244ad-88c8-4a04-806f-17d47396c18b' ) t2 //这个是传入的部门id
		) t3 
	WHERE
		ischild != '0'  //到这儿是查子部门的
	OR unitguid = 'fe9244ad-88c8-4a04-806f-17d47396c18b'  //到这儿是查当前部门的
	) t4 ON t5.DepartmentId = t4.UnitGuid

posted @ 2021-11-27 23:33  睡个好觉"  阅读(771)  评论(0)    收藏  举报