[SQL]一个选定的列和两个值,连续选择它们

时间:2016-03-16 19:02:01

标签: mysql sql

我有三张表here

使用此选择

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

我能够检索this之类的信息:

我希望以这种格式获得所有这些信息:

id,title,color1,color2

您是否有解决方案,知道很多时候活动中没有两种活动类型?

由于

2 个答案:

答案 0 :(得分:0)

Yoy应该使用concat_ws函数。 写

SELECT concat_ws(',',a.id,a.title,at.places,at.color)

其他一切都应该是一样的。

手册中的详细信息 http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_concat-ws

答案 1 :(得分:0)

我误解了你的问题,你应该使用group_concat和concat_ws函数

SELECT concat_ws(',',a.id,a.title,at.places,group_concat(at.color))FROM activityTypes in inner join activitiesCombination as ac on at.id = ac.activityTypeId inner join activities as a on a.id = ac.activityId 分组由a.id,a.title,at.places

组成