【发布时间】:2015-12-31 20:38:36
【问题描述】:
我有三张桌子:
员工
id name
1 Alex
2 John
3 Peter
员工角色
id role_name
1 Barber
2 Driver
assigned_roles
id staff_id role_id
1 1 1
2 1 2
3 2 1
4 3 2
我想得到输出。喜欢:
name roles
Alex [{'id':'1','role_name':'Barber'},{'id':'2','role_name':'Driver'}]
John [{'id':'1','role_name':'Barber'}]
Peter [{'id':'2','role_name':'Driver'}]
我在做:
SELECT
staff.name,
GROUP_CONCAT(DISTINCT assigned_roles.role_id) as roles
FROM staff
LEFT JOIN assigned_roles
ON assigned_roles.staff_id = staff.id
LEFT JOIN roles
ON roles.id = assigned_roles.role_id
GROUP BY
staff.id
但是如何将角色名称添加到 GROUP_CONCAT 以获得我想要的输出?
【问题讨论】:
-
以表格而不是 json 格式提供您想要的结果。
-
@RubahMalam 。 . .我认为目的是产生 JSON 格式。
-
你为什么要这些有趣的角色?
标签: mysql select group-concat