2010-02-15 104 views
0

檢索特定的元組有一些問題。 我其實是一個試圖建立房間管理系統的學生。我有兩個表:使用Mysql檢索特定的元組

Room(roomID,hotelname,rate) 

Reservation(resID,arriveDate,departDate,roomID). 

我不知道如何檢索室,2個具體日期間可用。 這是我使用的查詢。

SELECT Room.roomID,hotelname,rate 
    FROM Room 
    LEFT JOIN Reservation 
    on ( Room.roomID=Reservation.resID 
     and arriveDate >='2010-02-16' 
     and departDate <='2010-02-20' 
     ) 
GROUP BY roomID,hotelname,rate 
HAVING count(*)=0;' 

但它返回一個空集。任何一個都可以告訴我我在做什麼錯誤?

+0

你肯定也有相匹配的一套價值觀? – 2010-02-15 23:12:15

+0

是的...實際上房間裏有6個房間,預訂表只有入口。 – Neelesh 2010-02-15 23:18:30

回答

2

我猜Room.roomID=Reservation.resID應該是Room.roomID=Reservation.roomID

你可以嘗試不同的方法與子查詢:

SELECT roomID,hotelname,rate 
FROM Room 
WHERE roomID NOT IN (SELECT roomID FROM Reservation WHERE arriveDate >='2010-02-16' and departDate <='2010-02-20') 
+0

非常感謝......它工作得很好......現在我明白了......我不必要地使事情變得複雜: – Neelesh 2010-02-15 23:29:13