Cita:
Empezado por CHiCoLiTa
Es el tipico programa de reserva de aulas y lo que quiero es que la query en cuestion me devuelva cuales estan ocupadas para no permitir reservarlas
Tengo 2 campos de tipo datetime (por cierto, estoy con SQL Server) y ahi es donde comparo las horas para saber si esta reservada o no
He probado tantas que no se si esta es la buena o no.
El problema que observo siempre es que si intento reservar un rango mas grande al que existe no me devuelve nada, por ejemplo si tengo reservado de 10 a 11, me permite reservar de 09 a 12 y hay existe una hora en la quye ya esta ocupada
No se si he conseguido explicarme bien, espero que si
Código SQL [-]
select ID_AU
from RESERVAS
where FECHA = '22/02/05' and (
('09:00:00' >= convert(varchar, HORA_DESDE, 108) and '09:00:00' <= convert(varchar, HORA_HASTA, 108))
or ('19:00:00' >= convert(varchar, HORA_DESDE, 108) and '19:00:00' <= convert(varchar, HORA_HASTA, 108)))
Evidentemente la fecha y las horas las mando por paramertros, lo he dejado asi para que no queden dudas
Gracias por haber leido el rollo que he contado
|
bueno creo que primero debe definir bien las cosas, si quieres las aulas que estan ocupadas, simplemente que te retorne la id de las que tienen valor en la hora y claro la hora
mas o menos asi,
Código SQL
[-]
select ID_AU, horadesde, horahasta
from RESERVAS
where FECHA = variablefecha and horadesde is not null
con esto te retornara la idaula y las horas en la que esta reservada
claro para esto tu tabla debe tener la idaula y los dos campos de hora