2013-07-10 52 views
2

選房的供應情況我有一個表中指定的數據庫保留的列:IDdate_fromDATE_TOobj_id入住日期範圍

在我的應用程序中,我需要創建一個sql查詢,我可以在指定的日期範圍內檢查房間的可用性(obj_id)。

我試圖用類似下面的,但它無法正常工作:

select * from `reservations` 
where ((`date_from` <= $from and `date_to` >= $from) 
or (`date_from` <= $to and `date_to` >= $to)) and `obj_id` = $obj 

例如,當一些空間從2013保留從2013年7月3日至2013年7月6日,日期-07-01到2013-07-07被視爲免費

+1

「不好用」不是一個合適的問題解釋。 – zerkms

+0

例如從2013-07-03到2013-07-06預定一些房間時,2013-07-01到2013-07-07的日期被視爲免費 –

+0

把它放到問題 – zerkms

回答

3

您可以使用SQL的子句爲了篩選兩個給定日期之間的結果。有關詳細信息,請參閱此link
以下是您可以嘗試查詢的內容!

Select * from `Reservations` where $ToDate between date_from and date_to 
      OR date_to between $FromDate and $ToDate 
      OR $FromDate between date_from and date_to 
      OR date_from between $FromDate and $ToDate 
      AND `obj_id` = $obj; 
+0

那就是它!感謝您的幫助,您的查詢正如我所願。 –