Consulta de disponibilidad

03/03/2005 - 21:11 por Javier Pérez | Informe spam
Hola chicos,

Tengo un problema con una consulta que no se muy bien como resolverlo. Os
cuento resumiento columnas

Actualmente tengo 2 tablas.

tblVehiculo

id, matricula
-
tblAlquilerVehiculo

id, idVehiculo, fechaSalida, fechaEntrada

cuando se realiza un alquiler aparecen filas en tblAlquilerVehiculo con el
id del alquiler (identidad) y la fecha en la que salió el coche (se alquilo)
con la fecha de entrada (cuando lo devolvió)

El problema se plantea cuando quiero calcular la disponibilidad para el dia
pej 3/3/05. Había pensado en pintar todos las filas que su fechaEntrada <=
3/3/05, es decir, aquellos alquileres que a día de la fecha ya lo hayan
devuelto. El problema es que también me aparecen los anteriores alquileres
de ese mismo vehiculo y solo me interesaría que apareciera el ultimo
alquiler para que funcione la disponibilidad.

Algun ayuda o sugerencia.?

Preguntas similare

Leer las respuestas

#1 Marcelo
03/03/2005 - 21:12 | Informe spam
Creo que faltaria una marca de Alquilado (Si/no), o disponible como te
parezca mejor en tblVehiculo


"Javier Pérez" escribió en el mensaje
news:
Hola chicos,

Tengo un problema con una consulta que no se muy bien como resolverlo. Os
cuento resumiento columnas

Actualmente tengo 2 tablas.

tblVehiculo

id, matricula
-
tblAlquilerVehiculo

id, idVehiculo, fechaSalida, fechaEntrada

cuando se realiza un alquiler aparecen filas en tblAlquilerVehiculo con el
id del alquiler (identidad) y la fecha en la que salió el coche (se


alquilo)
con la fecha de entrada (cuando lo devolvió)

El problema se plantea cuando quiero calcular la disponibilidad para el


dia
pej 3/3/05. Había pensado en pintar todos las filas que su fechaEntrada <> 3/3/05, es decir, aquellos alquileres que a día de la fecha ya lo hayan
devuelto. El problema es que también me aparecen los anteriores alquileres
de ese mismo vehiculo y solo me interesaría que apareciera el ultimo
alquiler para que funcione la disponibilidad.

Algun ayuda o sugerencia.?








Respuesta Responder a este mensaje
#2 Marcelo
03/03/2005 - 21:14 | Informe spam
O quizas por cada idVehiculo tomar la mayor fechaEntrada de la tabla
tblAlquilerVehiculo, en caso de no poder agregar el campo disponible en la
tabla vehiculo

"Javier Pérez" escribió en el mensaje
news:
Hola chicos,

Tengo un problema con una consulta que no se muy bien como resolverlo. Os
cuento resumiento columnas

Actualmente tengo 2 tablas.

tblVehiculo

id, matricula
-
tblAlquilerVehiculo

id, idVehiculo, fechaSalida, fechaEntrada

cuando se realiza un alquiler aparecen filas en tblAlquilerVehiculo con el
id del alquiler (identidad) y la fecha en la que salió el coche (se


alquilo)
con la fecha de entrada (cuando lo devolvió)

El problema se plantea cuando quiero calcular la disponibilidad para el


dia
pej 3/3/05. Había pensado en pintar todos las filas que su fechaEntrada <> 3/3/05, es decir, aquellos alquileres que a día de la fecha ya lo hayan
devuelto. El problema es que también me aparecen los anteriores alquileres
de ese mismo vehiculo y solo me interesaría que apareciera el ultimo
alquiler para que funcione la disponibilidad.

Algun ayuda o sugerencia.?








Respuesta Responder a este mensaje
#3 Javier Pérez
03/03/2005 - 21:31 | Informe spam
Si, es la idea, ya que con la primera opcion que me has comentado no lo
podemos solucionar, dado a que habria varias filas con reservado=1 si hay
más de dos alquileres.

El problema es que no se como puedo hacer la consulta que me indicas aquí...
"Marcelo" <@hotmail.com> escribió en el mensaje
news:
O quizas por cada idVehiculo tomar la mayor fechaEntrada de la tabla
tblAlquilerVehiculo, en caso de no poder agregar el campo disponible en la
tabla vehiculo

"Javier Pérez" escribió en el mensaje
news:
Hola chicos,

Tengo un problema con una consulta que no se muy bien como resolverlo. Os
cuento resumiento columnas

Actualmente tengo 2 tablas.

tblVehiculo

id, matricula
-
tblAlquilerVehiculo

id, idVehiculo, fechaSalida, fechaEntrada

cuando se realiza un alquiler aparecen filas en tblAlquilerVehiculo con
el
id del alquiler (identidad) y la fecha en la que salió el coche (se


alquilo)
con la fecha de entrada (cuando lo devolvió)

El problema se plantea cuando quiero calcular la disponibilidad para el


dia
pej 3/3/05. Había pensado en pintar todos las filas que su fechaEntrada
<>> 3/3/05, es decir, aquellos alquileres que a día de la fecha ya lo hayan
devuelto. El problema es que también me aparecen los anteriores
alquileres
de ese mismo vehiculo y solo me interesaría que apareciera el ultimo
alquiler para que funcione la disponibilidad.

Algun ayuda o sugerencia.?












Respuesta Responder a este mensaje
#4 Alejandro Mesa
03/03/2005 - 21:49 | Informe spam
Javier,

Ve si esto te sirve.

set @d = '20050303'

select
v.[id],
v.[matricula]
from
tblVehiculo as v
where
not exists(select * from tblAlquilerVehiculo as a where a.[id] = v.[id])
or
(
select
max(fechaEntrada)
from
tblAlquilerVehiculo as a
where
a.[id] = v.[id]
and a.fechaSalida < @d
group by
a.[id]
having
max(fechaEntrada) > max(fechaSalida)
) <= @d;

Selecciona el vehiculo que nunca haya salido o que su ultima fechaEntrada
sea menor o igual que la fecha en question. Puedes incluir una hora
especifica si quieres.


AMB



"Javier Pérez" wrote:

Hola chicos,

Tengo un problema con una consulta que no se muy bien como resolverlo. Os
cuento resumiento columnas

Actualmente tengo 2 tablas.

tblVehiculo

id, matricula
-
tblAlquilerVehiculo

id, idVehiculo, fechaSalida, fechaEntrada

cuando se realiza un alquiler aparecen filas en tblAlquilerVehiculo con el
id del alquiler (identidad) y la fecha en la que salió el coche (se alquilo)
con la fecha de entrada (cuando lo devolvió)

El problema se plantea cuando quiero calcular la disponibilidad para el dia
pej 3/3/05. Había pensado en pintar todos las filas que su fechaEntrada <=
3/3/05, es decir, aquellos alquileres que a día de la fecha ya lo hayan
devuelto. El problema es que también me aparecen los anteriores alquileres
de ese mismo vehiculo y solo me interesaría que apareciera el ultimo
alquiler para que funcione la disponibilidad.

Algun ayuda o sugerencia.?









Respuesta Responder a este mensaje
#5 Alejandro Mesa
03/03/2005 - 21:59 | Informe spam
Corrección,

declare @d datetime

set @d = '20050303'

select
v.[id],
v.[matricula]
from
tblVehiculo as v
where
not exists(select * from tblAlquilerVehiculo as a where a.[idVehiculo] =
v.[id])
or
(
select
max(fechaEntrada)
from
tblAlquilerVehiculo as a
where
a.[idVehiculo] = v.[id]
and a.fechaSalida < @d
group by
a.[idVehiculo]
having
max(fechaEntrada) > max(fechaSalida)
) <= @d
go


La logica sigue la misma, pero habia usado tblAlquilerVehiculo.[id] en vez
de tblAlquilerVehiculo.idVehiculo.


AMB


"Alejandro Mesa" wrote:

Javier,

Ve si esto te sirve.

set @d = '20050303'

select
v.[id],
v.[matricula]
from
tblVehiculo as v
where
not exists(select * from tblAlquilerVehiculo as a where a.[id] = v.[id])
or
(
select
max(fechaEntrada)
from
tblAlquilerVehiculo as a
where
a.[id] = v.[id]
and a.fechaSalida < @d
group by
a.[id]
having
max(fechaEntrada) > max(fechaSalida)
) <= @d;

Selecciona el vehiculo que nunca haya salido o que su ultima fechaEntrada
sea menor o igual que la fecha en question. Puedes incluir una hora
especifica si quieres.


AMB



"Javier Pérez" wrote:

> Hola chicos,
>
> Tengo un problema con una consulta que no se muy bien como resolverlo. Os
> cuento resumiento columnas
>
> Actualmente tengo 2 tablas.
>
> tblVehiculo
>
> id, matricula
> -
> tblAlquilerVehiculo
>
> id, idVehiculo, fechaSalida, fechaEntrada
>
> cuando se realiza un alquiler aparecen filas en tblAlquilerVehiculo con el
> id del alquiler (identidad) y la fecha en la que salió el coche (se alquilo)
> con la fecha de entrada (cuando lo devolvió)
>
> El problema se plantea cuando quiero calcular la disponibilidad para el dia
> pej 3/3/05. Había pensado en pintar todos las filas que su fechaEntrada <=
> 3/3/05, es decir, aquellos alquileres que a día de la fecha ya lo hayan
> devuelto. El problema es que también me aparecen los anteriores alquileres
> de ese mismo vehiculo y solo me interesaría que apareciera el ultimo
> alquiler para que funcione la disponibilidad.
>
> Algun ayuda o sugerencia.?
>
>
>
>
>
>
>
>
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida