mysql判断该部门是否有子孙部门
时间: 2023-12-11 16:03:08 浏览: 64
判断一个节点是否是另一个节点的子孙
可以通过查询该部门的所有后代部门数量,来判断该部门是否有子孙部门。可以使用 MySQL 的递归查询功能来实现。以下是示例代码:
```
WITH RECURSIVE sub_dept(id) AS (
SELECT id FROM departments WHERE id = [要查询的部门id]
UNION ALL
SELECT d.id FROM departments d JOIN sub_dept sd ON d.parent_id = sd.id
)
SELECT COUNT(*) - 1 AS sub_dept_count FROM sub_dept;
```
该查询语句会先查询出指定部门的id,然后通过递归查询,将该部门的所有后代部门的id都查询出来,并计算数量。最后返回数量减1,即为该部门的子孙部门数量。若结果为0,则表示该部门没有子孙部门。
阅读全文