1
私は現在ホテルの予約サービスを行っており、特定の期間中に特定の部屋タイプとホテルのすべての無料ルームを表示したいと考えています。 私はそれが気づくまで、動作するクエリであると思ったものを見つけました。部屋が全く予約をしていないと動作しません。特定の期間に無料の部屋を見つけるためのSQL
SELECT DISTINCT r.id,
r.num,
r.NAME,
h.NAME,
h.city,
h.country
FROM room r
JOIN hotel h
ON r.hotel_id = h.id
JOIN room_type rt
ON r.room_type_id = rt.id
WHERE r.id NOT IN (SELECT room_id
FROM reservation
WHERE ('$from' BETWEEN start_date AND end_date)
OR (start_date BETWEEN '$from' AND '$to')
OR '$from' = start_date)
AND $roomtype = rt.id
AND $hotel = h.id
このクエリは、予約日の利用者が選択したスタートで、$への「から$」PHPスクリプトどこで使用される予約の終わりであるなど
このクエリを作成する方法はあります部屋に予約がない場合でも動作しますか? ご迷惑をおかけして申し訳ございません。ないフリーの部屋のために
このような迅速な対応をありがとうございます。私はあなたのロジックを適用し、今それは最終的に正常に動作します!また、サブクエリの前にrt.idとr.idをチェックするのは大変意味があります。ありがとう:) – heap1