-5
我有表有以下幾列: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表。
請關注: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
非常感謝。是否有可能創建一個進一步查詢的視圖?例如,每個記錄表示在特定日期酒店已滿(所有房間都已預訂)。 –
歡迎來到Stack Overflow。請花點時間參加[Tour](https://stackoverflow.com/tour)並閱讀[how-to-ask](https://stackoverflow.com/questions/how-to-ask)以獲取爲您的問題提供更好的答案 –
您到目前爲止已嘗試解決您的問題?請告訴我們你的方法。提及:Stackoverflow不是一個免費的代碼寫入服務。 –
對不起。我在這裏是一個新來者。我不知道我怎麼能從社區獲得一些幫助。 –