部门层级查询用户
如何查询某个部门下所有用户并避免重复记录?以下语句由于一个用户可能归属多个部门,会产生重复结果:
select ud.dept_id,u.* from sys_user_dept ud left join sys_user u on ud.user_id=u.id
解决方法:
为了避免重复,可以添加where子句来限定部门:
SELECT ud.dept_id,u.* FROM sys_user_dept ud left join sys_user u on ud.user_id=u.id WHERE ud.部门id字段 = 需要查询的部门id
其中,“部门id字段”可以替换为部门表中的实际字段名,例如“dept_id”。通过指定需要查询的部门id,可以确保只返回属于该部门的用户记录,避免重复。