我有如下记录的表: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