sql操作日期查询查找到期日期

时间:2011-12-10 05:04:46

标签: php mysql sql

我有一张桌子:

rommbookinfo
(
   hotel_id
   , room_no
   , start_date
   , end_date
);

现在我必须执行查询以查找在日期范围内未预订的给定酒店(酒店ID)的房间(即在date1和date2之间)

SELECT *
FROM tbl_roombook
WHERE hotel_id = '2'
   AND start_date NOT BETWEEN 12/17/2011 AND 12/19/2011 
   OR end_date NOT BETWEEN 12/17/2011 AND 12/19/2011

但它会引发以下错误:

#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near
''SELECT * FROM tbl_roombook WHERE hotel_id='2' AND start_date' at line 1

1 个答案:

答案 0 :(得分:2)

  Select distinct room_no
  From tbl_roombook rb
  Where hotel_id = '$h_id' 
    And Not Exists
      (Select * From tbl_roombook
       Where hotel_id = rb.Hotel_id
           And room_No = rb.room_no
           And start_date <= $date2
           And end_Date >= $date1)
相关问题