Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/05/2008, 15:25
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 8 meses
Puntos: 300
Re: calcular fechas entre 2 rangos de fechas

Se me ocurre a bote pronto que esta sintaxis te selecciona el rango
SELECT fechadesde, fechahasta, habitacion from reserva where habitacion = 1 AND ('2008-05-01' <= fechadesde AND '2008-05-06' >= fechadesde) OR ('2008-05-01' >= fechadesde AND '2008-05-01' <= fechahasta)

La idea es ver que si la fechadesde de la nueva reserva es inferior a la fechadesde de la reserva anterior, la fechahasta de la nueva reserva debe ser mayor o igual que la fechadesde de la reserva anterior para que haya coincidencia; y si la fechadesde de la nueva reserva es mayor o igual que la fechadesde de la reserva anterior esa fecha desde debe ser menor o igual que la fechahasta de la reserva anterior para que haya coincidencia.

De todas formas, imagino que habrá mejores soluciones para esto. No obstante, encontrarla la encuentra.

Última edición por jurena; 13/05/2008 a las 15:47 Razón: he corregido errores de lógica...