Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2007, 20:41
elyuvic
 
Fecha de Ingreso: febrero-2006
Mensajes: 10
Antigüedad: 18 años, 4 meses
Puntos: 0
SQL para Intervalo de fechas

Hola necesito ayuda en hacer una consulta de intervalo de fechas esto es mi caso tengo una tabla agenda con los atributos como sigue:

Tabla "agenda"

Persona Fecha_Inicio Fecha_fin actividad
------- ----------- --------- ---------
Carlos 05/06/2007 10/06/2007 Actividad xxxx
Carlos 15/06/2007 18/06/2007 Actividad xxxx
Carlos 25/06/2007 27/06/2007 Actividad xxxx
carlos 30/06/2007 02/07/2007 actividad xxxx
....

Bueno en este caso solo puse los datos de una sola persona para que se entienda mejor, ya que esta tabla "agenda" guarda la actividad de varias personas.
la consulta es determinar los tiempos libres de una persona en un intervalo de fechas dados como parametros, es decir determinar la disponibilidad de una persona donde no tenga actividades,

Por ejemplo:
- determinar la disponibilidad de Carlos desde 01/06/2007 hasta 30/06/2007
Resultado deveria ser:

Fecha_Inicio_Libre Fecha_Fin_Libre
----------------- ---------------
01/06/2007 04/06/2007
11/06/2007 14/06/2007
19/06/2007 24/06/2007
28/06/2007 29/06/2007

bueno este resultado sale de comparar la tabla agenda en base a sus fechas de actividad que tiene

Explicando el resultado:

- el primer registro del resultado es
01/06/2007 al 04/06/2007

porque la consulta requerida es desde 01/06/2007 y su primera actividad carlos empieza de acuerdo a la tabla "agenda" desde el 05/06/2007 asique estaba libre hasta un dia antes

- El segudo registro del resultado es
11/06/2007 al 14/06/2007

porque Carlos su primera actividad termina el 10/06/2007 y su segunda actividad empiesa el 15/06/2007 asi que estuvo disponible desde el 11/06/2007 hasta el dia 14/06/2007

..... y asi sucesivamente para los demas resultados
claro los resultados deben ser hasta la fecha limite de la consulta que en este caso es hasta el 30/06/2007

espero que se me hayan entendido el problema les estare muy agradecidos a la ayuda en hacer el SQL para optener el resultado que explique..