如何在 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 中查询特定部门及其下属所有部门的用户,避免重复记录?的详细内容,更多请关注其它相关文章!