Ver Mensaje Individual
  #9  
Antiguo 16-05-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 27
Delphius Va camino a la fama
Muchas gracias Lepe por refrezcarme la memoria. Me había olvidado de la sentencia IN. De que se necesitaba dos select eso lo tenía claro.

Tengo que reconocer que no sabía que la sentencia IN sea ineficiente. Pero si es que no son muchos los registros con que maneja anubis, no creo que sea tan afectado.

Ahora, tengo una duda. ¿No debería compararse también con la fecha de reserva? Porque por lo que tengo entendido, cuando uno solicita una reserva es cuando se debe determinar cuales están libres:

Código SQL [-]
select codhabitacion 
from habitacion
where codhabitacion not in 
   ( select codhabitacion from reservas
     where (fechaentrada between :fini and :ffin) 
   and fechareserva <= :ahora)
   and estado = 'libre'

El :ahora se trataría de la fecha actual (pasada como parámetro). Lo que yo ando considerando es que no sólo se restrinja a un rango sino que no haya una reserva previa a las fechas.
No se.. en una de esas estoy confundido.
Y el tema me está interesando... y me dejó "picando".

Al igual que anubis, voy a ver cuales son las opciones... creo y considero que yo también necesito aprender.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 16-05-2007 a las 20:48:40.
Responder Con Cita