我有如下記錄的表:MySQL查詢與日期範圍
id_hotel - fecha_desde - fecha_hasta
-------------------------------------------------- ----
4 2011-01-01 2011-01-14
4 2011-01-05 2011-01-30
4 2011-01-31 2011-02-07
4 2011-02-13 2011-02-25
3 2011-01-01 2011-03-14
5 2011-01-01 2011-01-29
5 2011-01-30 2011-02-27
,我需要讓這個查詢:
我有日期$desde = 2011-01-04
和$hasta = 2011-03-02
結果我必須提供的是id_hotel
此時有空,並且在兩者之間沒有找到任何空閒的一天(例如:id_hotel 4),在2011年2月7日到2011年2月13日之間有6天不可用。
因此,那些id_hotel = 4
就不會離開,但3和5
隨着id_hotel = 3
的例子中,我沒有問題,因爲我用下面的查詢:
SELECT id_hotel
FROM fechas_disponibilidad
WHERE \''. $desde. '\' BETWEEN fecha_desde AND fecha_hasta
AND \''. $hasta. '\' BETWEEN fecha_desde AND fecha_hasta
我有日期從:2011-01-04和日期到:03/02/2011
我得給出的結果是id_hotel
在這個時間有空房間和之間沒有找到任何空閒的一天(例如:id_hotel 4 )之間02/07/2011和13/02/2011是6天不可用。
因此,那些id_hotel = 4
就不會離開,但3和5
隨着id_hotel = 3
的例子中,我沒有問題,因爲我用下面的查詢:
但是,當我有超過一個日期範圍爲id_hotel列,不知道如何實現查詢。
你可以給我一個例子與mysql_query();功能?? – nicojmb