如何在 MySQL 中查询特定部门及其下属所有部门的用户,避免重复记录?

如何在 mysql 中查询特定部门及其下属所有部门的用户,避免重复记录?

查询某个部门以下所有部门的用户

问题:

如何在 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>

以上就是如何在 MySQL 中查询特定部门及其下属所有部门的用户,避免重复记录?的详细内容,更多请关注其它相关文章!