需求: 一条sql查询出所有用户的全部用户名,用户名用逗号隔开
这个需求用group_concat就很好解决。
方式一:用子查询
select `user`.id, (SELECT group_concat(name.name)as name from middle LEFT JOIN name on name.id=middle.nameId where middle.userId=`user`.id) as name from `user`
方式二 用表连接和group by
select `user`.id,group_concat(name.name)as name from `user` LEFT JOIN middle on middle.userId=`user`.id LEFT JOIN name on name.id=middle.nameId GROUP BY `user`.id