
查询某个部门以下所有部门的用户
问题:
如何在 mysql 中查询特定部门及其下属所有部门的用户,避免重复记录?参考表结构:
- 用户表(user)
- 部门表(dept)
- 用户部门关联表(user_dept)
下述语句会产生重复记录:
select
ud.dept_id, u.*
from
sys_user_dept ud left join sys_user u on ud.user_id = u.id解答:
为了避免重复,可以在查询中加入条件,限定特定部门:
SELECT
ud.dept_id, u.*
FROM
sys_user_dept ud LEFT JOIN sys_user u ON ud.user_id = u.id
WHERE
ud.dept_id = <需要查询的部门 ID>










