id emp
1 jon
2 jane
id部门
1小时
2销售
emp_id dept_id
1 1
2 1
2 2
结果
员工部门
jon ___小时
jane __小时,销售
我有员工表、部门表和桥牌表。
如何编写查询,以便如果员工在多个部门,则以逗号分隔的1列形式显示?
您可以连接这三个表,按员工聚合,并用group_concat()
:连接每个员工的部门
select e.emp, group_concat(d.dept) as depts
from emp e
inner join emp_dept ed on ed.emp_id = e.id
inner join dept d on d.id = ed.dept_id
group by e.id