我有一张桌子:
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
答案 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)