私は現在、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
私は今、新しいテーブル、「num_people」という名前の列を持つテーブル「hotel_rooms」に参加しようとしています。これは、部屋に何人の人が滞在できるかを示しています。
私の質問は、どうすればこのテーブルに参加できるかということです。これを内部結合しようとしましたが、1つのホテルに複数の部屋がある可能性があるため、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
私はあなたが私を助けてくれることを本当に望んでいます..:)さらに情報が必要な場合は、教えてください。
敬具、
ロビン