代码之家  ›  专栏  ›  技术社区  ›  Neelesh

使用MySQL检索特定的元组

  •  0
  • Neelesh  · 技术社区  · 16 年前

    我在检索特定的元组时遇到一些问题。 我实际上是一个试图建立房间管理系统的学生。我有两张桌子:

    Room(roomID,hotelname,rate) 
    

    和

    Reservation(resID,arriveDate,departDate,roomID).
    

    我不知道如何检索在两个特定日期之间可用的房间。 这是我使用的查询。

    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;'
    

    但它返回一个空集。有人能告诉我我犯了什么错误吗??

    1 回复  |  直到 16 年前
        1
  •  2
  •   Felix Kling    16 年前

    我猜 Room.roomID=Reservation.resID 应该是 Room.roomID=Reservation.roomID .

    您可以尝试使用一个嵌套select来使用不同的方法:

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