Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/10/2014, 11:42
luisalberti
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 13 años, 3 meses
Puntos: 0
Consulta reservas sql

Hola viendo pregunta de otro usuario me a surgido una duda de una pregunta que realize en el foro hace tiempo.

TABLA RESERVAS
id fecha_inicio fecha_salida
1 1/10/2014 4/10/14
2 2/10/2014 3/10/14
3 1/10/2014 4/10/14
4 6/10/2014 8/10/14

Tengo esta table de ejemplo de reservas, y me gustaria sacar todas las reservas que estan en un rango. Tanto fecha_inicio como fecha_salida tienen que estar dentro del rango. Uso "OR" por que puede que la fecha de salida no este en el rango pero la pero la fecha de entrada si o viceversa.

SELECT fecha_entrada, fecha_salida FROM reservas
WHERE (dia_entrada BETWEEN '$fecha_entrada' AND '$fecha_salida')
or (dia_salida BETWEEN '$fecha_entrada' AND '$fecha_salida');

Si busco en rango $fecha_entrada = 1/10/2014 y $fecha_entrada = 5/10/14. Por lo que me mostraria que tengo tres reservas.


Para llegar a esta conclusión, que creo que esta bien si no es así por favor comentarme, me fije en:

SELECT dia_entrada, dia_salida FROM disponibilidad
WHERE (dia_entrada BETWEEN '$dia_entrada' AND '$dia_salida')
OR (dia_salida BETWEEN '$dia_entrada' AND '$dia_salida')
OR (dia_entrada <= '$dia_entrada' AND dia_salida >= '$dia_salida')

Mi duda es esta linea, no consigo entenderla:

OR (dia_entrada <= '$dia_entrada' AND dia_salida >= '$dia_salida')

Un saludo Muchisimas gracias