需求
有一个部门表,部门表中有一个字段用于定义它的父部门;
在实际业务中有一个『部门中心』的业务;
比如采购单,我们需要显示本部门及子部门的采购单显示出来。
结构
数据如下:
实现方式如下:
WITH RECURSIVE recursion (id, name, parent_id,sys_user_id) AS
(
SELECT T1.id, T1.name, T1.parent_id ,t1.sys_user_id
from sys_dept T1
where T1.id=360 -- 要查询的ID
UNION ALL
SELECT T2.id, T2.name, T2.parent_id,T2.sys_user_id
from sys_dept T2, recursion T3
WHERE T2.parent_id=T3.id
)
SELECT T.id, T.name, T.parent_id,T.sys_user_id
FROM recursion T;