我目前在使用 MySQL 时遇到了一个烦人的问题。
我从通过以下查询从数据库中获取酒店的地方开始:
SELECT `Hotel`.*,
`Hotellocations`.`address`,
`Hotellocations`.`city`,
`Hotellocations`.`lat`,
`Hotellocations`.`lon`,
`Hotelfacilities`.`facilities`,
`hotel_rooms` AS `hotelroomS`
FROM `hotels` AS `Hotel`
LEFT JOIN `hotel_locations` AS `Hotellocations`
ON (`Hotel`.`hotelid` = `Hotellocations`.`hotelid`)
LEFT JOIN `hotel_facilities` AS `Hotelfacilities`
ON (`Hotel`.`hotelid` = `Hotelfacilities`.`hotelid`)
WHERE MATCH(`hotel`.`title`) AGAINST("+Amsterdam" IN BOOLEAN MODE)
AND `hotel`.`min_price` != 0 AND `Hotel`.`min_price` >= 0
AND `Hotel`.`max_price` <= 500
LIMIT 1
我现在正在尝试加入一个新表,即“hotel_rooms”表,它有一个名为“num_people”的列,这表示有多少人可以留在房间里。
我现在的问题是,我如何加入这张桌子?我尝试过内部加入,但随后 MySQL 返回多行(来自hotel_rooms),因为一家酒店可能有多个房间..
我的酒店表是这样的:
id | hotelid | title | slug | description | min_price | max_price | stars | checkin | checkout
hotel_rooms 表是这样的:
roomid | hotelid | ratetypeid | providerid | title | description | num_people | min_price | calendarcode
我真的希望你能帮助我.. :) 如果您需要更多信息,请告诉我。
亲切的问候,
罗宾