Mysql [SQL]选择一列和两个值,在一行中选择它们

Mysql [SQL]选择一列和两个值,在一行中选择它们,mysql,sql,Mysql,Sql,我有三张桌子: 有了这个选择 SELECT a.id, a.title, at.places, at.color FROM activityTypes as at inner join activitiesCombination as ac on at.id = ac.activityTypeId inner join activities as a on a.id = ac.activityId 我能够检索到如下信息: 我希望所有这些信息都采用这种格式: id、标题、颜色1、颜色2 知道很多

我有三张桌子:

有了这个选择

SELECT a.id, a.title, at.places, at.color FROM activityTypes as at inner join activitiesCombination as ac on at.id = ac.activityTypeId inner join activities as a on a.id = ac.activityId
我能够检索到如下信息:

我希望所有这些信息都采用这种格式:

id、标题、颜色1、颜色2

知道很多时候一项活动不会有两种活动类型,您有解决方案吗


谢谢

您应该使用concat\ws功能。 写

选择concat_ws(“,”,a.id,a.title,at.places,at.color)

其他一切都应该是一样的

详细信息请参见手册

我误解了你的问题,你应该使用group\u concat和concat\ws函数

从activityTypes as at internal join activities组合as ac on at.id=ac.activityTypeId内部连接活动as a on a a.id=ac.activityId中选择concat_ws('、'、a.id、a.title、at.places、group_concat(at.color))作为a on a on a.id=ac.activityId的内部连接活动 按a.id、a.title、at.places分组