我正在寻找一个可以将同一个表的两行连接在一起的SQL语句。
目前,我的表格如下:
LocationName | StationName | 12:00 - 13:00 | 13:00 - 14:00 | 15:00 - 16:00
T2 | Entrance | Michael | Michael | Michael
T2 | Entrance | Joyce | Joyce | Joyce
如您所见,有两行具有相同的LocationName和StationName。唯一的区别是在时间段之间,内部分配了2个人。我的目标是使用mysql语句将这两行连接成1。
我希望它看起来像这样:
LocationName | StationName | 12:00 - 13:00 | 13:00 - 14:00 | 15:00 - 16:00
T2 | Entrance | Michael Joyce | Michael Joyce | Michael Joyce
如您所见,2个不同的名称属于同一列,只有1行。这就是我想要的。有什么想法吗?
答案 0 :(得分:6)
将 GROUP_CONCAT 用于此
SELECT LocationName,
StationName ,
GROUP_CONCAT(`12:00 - 13:00` SEPARATOR ' ') `12:00 - 13:00`,
GROUP_CONCAT(`13:00 - 14:00` SEPARATOR ' ') `13:00 - 14:00`,
GROUP_CONCAT(`15:00 - 16:00` SEPARATOR ' ') `15:00 - 16:00`
FROM tableName
GROUP BY LocationName,
StationName