Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/12/2009, 06:23
Avatar de gnzsoloyo
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, 3 meses
Puntos: 2658
Respuesta: Consulta con comparacion de fechas

Se entiende, pero estás aplicando lógica de programador y no de DBA, por eso se te complica.
El tema es que no te debe importar si en ciertas condiciones la opción es no mostrar. Lo que debe importarte es cuál es la condición que debe cumplir el vehículo que debe ser mostrado, ya que el resto de las alternativas son irrelevantes, y esta es una sola: Las fechas de la reserva no pueden cruzarse ni superponerse:

Código MySQL:
Ver original
  1. SELECT V.*
  2. FROM vehiculos V INNER JOIN reservas R ON V.id_vehiculo = R.id_vehiculo
  3.     NOT ($nueva_ini BETWEEN FECHA_INI, FECHA_FIN)
  4.     AND
  5.     NOT ($nueva_fin  BETWEEN FECHA_INI, FECHA_FIN)
  6. GROUP BY V.id_vehiculo;

Eso te devolverá un listado de vehiculos que no tienen reservas para el período indicado.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)