【问题标题】:Retrieving specific tuples using Mysql使用 Mysql 检索特定的元组
【发布时间】:2010-02-15 23:02:15
【问题描述】:

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

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

但它返回一个空集。谁能告诉我我做错了什么??

【问题讨论】:

  • 您确定有与该集合匹配的值吗?
  • 是的...事实上,房间表中有 6 个房间,而预订表只有一个条目。

标签: mysql


【解决方案1】:

我猜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')

【讨论】:

  • 非常感谢......它工作得很好......现在我意识到......我不必要地使事情复杂化了:(
猜你喜欢
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 2023-03-31
  • 2018-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多