我正在尝试从我的数据库中获取成对的预订列表。
我能够将开始和结束时间的列表连接在一起,但开始与结束时间是分开的。
这是我的查询:
SELECT res.room_id, GROUP_CONCAT(res.start) as start, GROUP_CONCAT(res.end) as end
FROM
hotel h
INNER JOIN reservations res ON res.hotel_id = h.hotel_id
INNER JOIN rooms r ON r.room_id = res.room_id
GROUP BY res.room_id
我想要的结果:
room_id | reserved
1 | 2019-01-01 01:00:00-2019-01-01 02:00:00, 2019-01-01 05:00:00-2019-01-01 07:00:00
这是我的相关架构:
旅馆:
hotel_id | hotel_name
保留:
res_id | hotel_id | room_id | res_start | res_end | res_status
房间:
room_id | hotel_id | room_name | room_number
对group_concat()
使用多个参数。
SELECT res.room_id,
group_concat(res.start, '-', res.end) reserved
FROM hotel h
INNER JOIN reservations res
ON res.hotel_id = h.hotel_id
INNER JOIN rooms r
ON r.room_id = res.room_id
GROUP BY res.room_id;