gpt4 book ai didi

mysql - 通过 id 从内连接表中选择多条记录

转载 作者:可可西里 更新时间:2023-11-01 08:49:50 24 4
gpt4 key购买 nike

第一次尝试内部连接,一切顺利,只是缺少从我的数据库接收正确数据的最后一步。这是我的 SQL 查询:

SELECT roadtrip_tblgeneral.*, roadtrip_tblhotels.hotel, roadtrip_tbllocation.location, roadtrip_tbltransport.transport
FROM roadtrip_tblgeneral
INNER JOIN roadtrip_tblhotels
ON roadtrip_tblgeneral.id = roadtrip_tblhotels.tripid
INNER JOIN roadtrip_tbllocation
ON roadtrip_tblgeneral.id = roadtrip_tbllocation.tripid
INNER JOIN roadtrip_tbltransport
ON roadtrip_tbltransport.id = roadtrip_tbltransport.tripid
WHERE roadtrip_tblgeneral.tripcode = 'cb8v73x9'

这是我从数据库中得到的响应:一切看起来都很好,但是一个用户可以使用相同的 ID 将多辆车添加到运输工具中,我想取回所有这些,而不仅仅是一辆车。 (例如地铁、汽车、自行车……)

id  tripname      tripcode  hotel   location    transport        
1 London cb8v73x9 Seaside London Metro

最佳答案

我想这可能是你的问题

ON roadtrip_tbltransport.id = roadtrip_tbltransport.tripid

您似乎是在尝试根据独立于要联接的第一个表的条件来联接两个表

看看你之前几行的模式,你是不是这个意思:

ON roadtrip_tblgeneral.id = roadtrip_tbltransport.tripid

正如@kickstart 所说,您可以通过将 SELECT 语句更改为将所有传输模式移动到一列中

SELECT roadtrip_tblgeneral.*, roadtrip_tblhotels.hotel, roadtrip_tbllocation.location, GROUP_CONCAT(roadtrip_tbltransport.transport)

如果您需要单独访问每种传输类型,那么在应用程序级别处理这个问题可能会更好,但是如果您想要的只是一个字符串,一个逗号分隔的传输模式作为一个单独的项目,GROUP_CONCAT() 应该没问题

关于mysql - 通过 id 从内连接表中选择多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16539835/

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