Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta BETWEEN al revés

Estas en el tema de Consulta BETWEEN al revés en el foro de PHP en Foros del Web. Hola estimados, tengo un problema con una consulta la cual no se como formularla: Tengo una fecha de entrada y una fecha de salida la ...
  #1 (permalink)  
Antiguo 30/03/2016, 10:06
 
Fecha de Ingreso: febrero-2011
Mensajes: 108
Antigüedad: 13 años, 9 meses
Puntos: 4
Consulta BETWEEN al revés

Hola estimados, tengo un problema con una consulta la cual no se como formularla:

Tengo una fecha de entrada y una fecha de salida la cual registro en la base de datos para crear una reserva, por lo que tengo la siguiente tabla con registros:

reserva
id | fechain | fechaout
---------------------------------------
1 | 15/03/2016 | 17/03/2016
---------------------------------------

El problema es que yo quiero validar que otra reserva que ingrese no sea en la misma fecha que alguien haya reservado, le di muchas vueltas y la consulta que yo quiero hacer es preguntar si mis fechas de entrada y salida están dentro de un registro de la base de datos. De forma mas técnica sería una consulta así:

Código:
SELECT id FROM reserva WHERE $fechaingreso BETWEEN fechain AND fechaout OR $fechasalida BETWEEN fechain AND fechaout
Siendo $fechaingreso y $fechaslida lo que este intentando ingresar el usuario. Esto es en rigor lo que necesito preguntar pero evidentemente tengo varios errores, sobre todo que la consulta debería ser al revés en los BETWEEN

Código:
SELECT id FROM reserva WHERE fechain BETWEEN $fechaingreso AND $fechasalida OR fechaout BETWEEN $fechaingreso AND $fechasalida
Alguien me puede dar una luz de como debería consultar a la base de datos lo que requiero
  #2 (permalink)  
Antiguo 30/03/2016, 10:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Consulta BETWEEN al revés

¿No crees que tu consulta corresponde más al sub-foro base de datos que a programación en php?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 30/03/2016, 10:36
 
Fecha de Ingreso: febrero-2011
Mensajes: 108
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Consulta BETWEEN al revés

Hola! ... respecto a lo que indicas, lo intente pero no pude llegar a ese subforo. Si corresponde pido al admin mueva mi tema al sub-foro correcto.
  #4 (permalink)  
Antiguo 30/03/2016, 11:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Consulta BETWEEN al revés

¿No ves el bloque titulado "Programación para mayores de 30 ;)"? ¿En serio?
Allí está el acceso al subforo de Bases de Datos, y dentro de ese los de MySQL, SQL Server, Oracle y PosgreSQL.
Me parece raro que no lo encuentres.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 30/03/2016, 11:26
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: Consulta BETWEEN al revés

La respuesta está en el manual

Código MySQL:
Ver original
  1. ... expr NOT BETWEEN min AND max ...

O de esta otra forma
Código MySQL:
Ver original
  1. ... NOT (expr BETWEEN min AND max) ...

También decir que puedes hacerlo estableciendo condiciones
Código MySQL:
Ver original
  1. ... (expr <= min AND expr >= max) ...


Igualmente como te indicaron los compañeros intenta preguntar en el lugar adecuado para obtener la ayuda adecuada.

Última edición por xerifandtomas; 30/03/2016 a las 11:36
  #6 (permalink)  
Antiguo 30/03/2016, 11:37
 
Fecha de Ingreso: febrero-2011
Mensajes: 108
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Consulta BETWEEN al revés

OK por favor borrar el tema, ya encontré el subforo y agregue mi tema...

Etiquetas: mysql
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 13:07.