Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta reservas sql

Estas en el tema de Consulta reservas sql en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/10/2014, 11:42
 
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
  #2 (permalink)  
Antiguo 28/10/2014, 12:09
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: Consulta reservas sql

Esa linea permite seleccionar reservas que tengan dias dentro de periodo seleccionado, pero que empiezan antes y terminan despues.

Retomando tu ejemplo

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
5 29/09/2014 15/10/2014


Cita:
Si busco en rango $fecha_entrada = 1/10/2014 y $fecha_entrada = 5/10/14. Por lo que me mostraria que tengo tres reservas.
Si lo que quieres seleccionar son las reserva que empiezan o acaban en el periodo seleccionado, te sirve tu query, si quieres TODAS las reservas "activas" en el periodo seleccionado seguramente necesitaras incluir esa linea.

Esa quinta reserva en rojo que te he agregado debe salir en tu selección o no? Eso solo lo sabes tu.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 28/10/2014, 12:38
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Consulta reservas sql

Claro ahora lo entiendo, si lo necesitaria por que busco la disponibilidad y auque no esten en el rango que busco son reservas. Serian las reservas que tienen inicio antes o igual del inicio y depués del final o igual al final.

Gracias por tu aclaración.

Etiquetas: fecha, reservas, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:38.