【发布时间】:2014-08-28 13:15:52
【问题描述】:
我请求您帮助编写查询以检查 MySql 中房间的可用性。 目前我有这种表:
ROOM | FROM | TO
-----------------------------
101 | 2014-08-09 | 2014-08-14
102 | 2014-08-09 | 2014-08-14
... ... ...
所以我从 09-08-2014 到 14-08-2014 预订了房间 101,我检查可用性的查询看起来像 =
SELECT order_id FROM booking
WHERE `ROOM` = '101'
AND (`FROM` BETWEEN '2014-08-08' AND '2014-08-20')
AND (`TO` BETWEEN '2014-08-08' AND '2014-08-20')
在上面的示例中,我将检查日期之间的可用性
What i trying to archive is this
Order --------09++++++++++13--------------
Check1 -----08+++++++++++++++++++++++++17-- Not availble
Check2 -----------------12+++++++++++++17-- Not availble
Check3 -----------10----------------------- Not availble
Check4 -----------10+11-------------------- Not availble
Check5 -----------------------14+++++++17-- Available
Check6 --07++++09-------------------------- Not availble
Check7 --------------------------15-------- Availble
SCALE 6-07-08-09-10-11-12-13-14-15-16-17-18-19...
我必须检查房间是否可用。所以如果我从那个查询中得到一些结果,这意味着房间已经被预订了......如果我什么都没有得到相反的结果......
【问题讨论】:
-
检查列名。在查询中你用小写字母写。
-
啊哈哈。现在你能帮我解决这个问题吗?
-
你的问题能说清楚吗
-
已经尝试使用 SELECT order_id FROM booking WHERE
ROOM= '101' AND (FROMBETWEEN '2014-08-08' AND '2014-08-20') OR (TO在“2014-08-08”和“2014-08-20”之间)。不工作... -
感谢您的回答,我会尽快检查所有内容。现在我必须走了……