を検索する:SQLクエリ私は、次の列を持つテーブルを持ってホテルの可用性
ホテル(ID、名前、住所)
部屋(ID、名前、価格、hotel_id)
room_calendar (customer_id、room_id、date)特定の顧客が予約した場合、特定の部屋の日付レコードを作成します。
到着日と出発日に基づいてデータベースを直接クエリして、ホテルの空き状況を確認するにはどうすればよいですか?
ありがとうございます。
を検索する:SQLクエリ私は、次の列を持つテーブルを持ってホテルの可用性
ホテル(ID、名前、住所)
部屋(ID、名前、価格、hotel_id)
room_calendar (customer_id、room_id、date)特定の顧客が予約した場合、特定の部屋の日付レコードを作成します。
到着日と出発日に基づいてデータベースを直接クエリして、ホテルの空き状況を確認するにはどうすればよいですか?
ありがとうございます。
あなたの検索日のroom_calendarテーブルのLEFT JOIN。
次のことに気をつけてください。WHERE room_calendar.date IS NULL
room_calendarテーブルにこのルームの行がない場合、その日は予約されていません。
SELECT hotel.name
,room.name
,room.price
FROM hotel
INNER JOIN room
ON room.hotel_id = hotel.id
LEFT JOIN room_calendar
ON room_calendar.room_id = room.id
AND room_calendar.date = @yourdate
WHERE room_calendar.date IS NULL
ありがとうございました。それ以降のクエリのためのビューを作成することは可能ですか?たとえば、各レコードは、ホテルが特定の日付に満席(すべての部屋が予約されている)であることを示します。 –
ようこそスタックオーバーフロー。 [ツアー](https://stackoverflow.com/tour)にアクセスするには、少し時間を取ってください。また、[how-to-ask](https://stackoverflow.com/questions/how-to-ask)を読んであなたの質問に対するより良い答え –
あなたの問題を解決するためにこれまでに何を試みましたか?あなたのアプローチを教えてください。注意:Stackoverflowは無料のコード作成サービスではありません。 –
申し訳ありません。私はここに新しい人です。私はどのように私はコミュニティからいくつかの助けを得ることができるか分からない。 –