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