使用MySQL语句连接两行
我正在寻找一个可以将同一个表的两行连接在一起的SQL语句 当前,我的表如下所示:使用MySQL语句连接两行,mysql,sql,select,Mysql,Sql,Select,我正在寻找一个可以将同一个表的两行连接在一起的SQL语句 当前,我的表如下所示: LocationName | StationName | 12:00 - 13:00 | 13:00 - 14:00 | 15:00 - 16:00 T2 | Entrance | Michael | Michael | Michael T2 | Entrance | Joyce | Joyce | Joyc
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 | 12:00 - 13:00 | 13:00 - 14:00 | 15:00 - 16:00
T2 | Entrance | Michael Joyce | Michael Joyce | Michael Joyce
如您所见,有两行具有相同的LocationName和StationName。唯一的区别是,在时间段之间,有两个人被分配在里面。我的目标是使用mysql语句将这两行连接成一行
我希望它看起来像这样:
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 | 12:00 - 13:00 | 13:00 - 14:00 | 15:00 - 16:00
T2 | Entrance | Michael Joyce | Michael Joyce | Michael Joyce
如您所见,两个不同的名称落在同一列中,只有一行。这就是我想要的。有什么想法吗?请使用
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
为此使用
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