2014-01-31 28 views
0

誰能幫助我如何從表1獲得可用客房參見表2建酒店預訂

這裏是我的表1列:

| id | roomTitle | description | maxOccupants | rate | 

這裏是我的表2列:

| id | arriveDate | departureDate | roomId | guestName | 

我的SQL是(這將檢查用戶日期索取可用):

SELECT * 
FROM table2 
WHERE departureDate <= '...' OR arriveDate >= '...'; 

如何使用table2上的結果從table1中收集所有可用房間?

請糾正我,如果我錯了,我只是一個學生試圖學習更多,謝謝!

+1

請不要叫你的桌子「table1」和「table2」。它使你的模式很難理解.. –

+0

我建議你給一些有意義的名字,甚至在快速練習中。試圖微調來自'table1'和'table2'的查詢使得它變得更加困難。 –

回答

0

你需要使用tabel1 ID和表2 roomid使用JOIN

1

如果你問:「告訴我哪個房間都可以在給定日期」,你需要的東西,如:

select * 
from table1 
where id not in 
    (select roomid 
    from table2 
    where departureDate <= '$arrivalDate' 
    or arriveDate >= '$departdate') 
+0

更好的選擇。使用哪些房間並獲取指定日期範圍內找不到的房間列表。 – DRapp