我有两张 table ,这张 table 的名字是“rooms” 另一个是“预订”
我现在加入了两个表,我想要在之间搜索时的值
book_form = "2016-12-30"
和 book_to = "2016-12-31"
返回true是因为“bookings”表中不存在这两个日期,并且在之间搜索
book_form = "2016-12-30"
和 book_to = "2017-01-05"
或 book_form = "2017-01-03"
和 book_to = "2017-01-15"
它将返回 false,因为预订表中存在该日期。
这是我的查询。
select * from rooms join room_book on rooms.room_id = room_book.room_id
where status = 'available' and room_book.book_from NOT BETWEEN '2016-12-30'
AND room_book.book_to NOT BETWEEN '2016-12-31'
最佳答案
Kishan Patel 的答案返回两个日期之间的所有记录。因此,如果您想要判断两个日期之间是否有房间可用,您可以执行以下操作:
SELECT IF(COUNT(*) > 0, TRUE, FALSE) AS NewResult
from rooms
join room_book on rooms.room_id = room_book.room_id
where status = 'available'
and room_book.book_from >= '2016-12-30' AND room_book.book_to <= '2016-12-31'
关于php - 我想在sql中的两个日期之间搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41392645/