gpt4 book ai didi

mysql - 将另一个表列中的数据合并到 1 个单独的列中

转载 作者:行者123 更新时间:2023-11-29 12:58:31 24 4
gpt4 key购买 nike

我有 3 个表(tbl_reservations/tbl_series/tbl_rooms),如何返回匹配的房间合并到以空格或“|”分隔的 1 列中的表格以及预订表中的数据?

tbl_reservations
------------
id, startdate, enddate, series
1, 2014-05-20, 2014-05-22, 1
2, 2014-05-24, 2014-05-25, 2

tbl_series
--------
reservation, room
1, 1
1, 3
1, 4
2, 1
2, 2

tbl_rooms
-----
id, name
1, room a
2, room b
3, room c
4, room d

当我需要返回时是这样的......

startdate, enddate, rooms
2014-05-20, 2014-05-22, 1|3|4
2014-05-24, 2014-05-25, 1|2

最佳答案

如上所述,使用 GROUP_CONCAT。顺便说一句,你似乎不需要 tbl_rooms...

select r.id, 
r.startdate,
r.enddate,
GROUP_CONCAT(s.room order by s.room separator '|' ) as rooms
from tbl_reservations r
join tbl_series s on s.reservation = r.series
group by r.id, r.startdate, r.enddate

参见SqlFiddle

关于mysql - 将另一个表列中的数据合并到 1 个单独的列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23675678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com