SQL - Consulta de Horas

 
Vista:

Consulta de Horas

Publicado por Khristian (9 intervenciones) el 03/10/2007 22:07:52
Amigos, tengo un problema que no he podido solucionar y ojalá alguien pueda ayudarme.

La situacion:

Tengo un programa que asigna Horas y necesito generar un calendario, pero... que me liste con vacio las horas no asignadas.

La tabla Citaciones tiene los sgtes campos

ID -> Autonumerico que identifica la citacion
Fecha -> Fecha Comparecer
Hora -> Hora de la citacion
Detalle -> Texto descriptivo

Actualmente, si hago una consulta filtrando por un dia X, me lista las audiencias de ese dia.. OK
pero necesito que se incluyan las horas no usadas.

Para esto hice otra tabla a la que llame Horas y solo contiene un campo, Hora

Relacioné ambas tablas Horas.Hora ---> Citaciones.Hora

La relacion incluye integridad referencial, para no crear citaciones con horas no existentes.
Ademas, el tipo de relacion es que muestre todos los registros de Horas (Left Join, aunque ya probé con Inner y Left Join).

el caso es que si no uso filtro por fecha, obtengo un listado así

HORA----MOTIVO
------------------------------------------
08:00-----Citacion de tipo A
09:00-----
10:00-----
11:00-----Citacion de tipo B
12:00-----Citacion de tipo C

O sea, esta bien.... pero si uso filtro por un dia X obtengo

HORA----MOTIVO
------------------------------------------
08:00-----Citacion de tipo A
11:00-----Citacion de tipo B
12:00-----Citacion de tipo C

Ojala alguien pueda ayudarme.

Lo otro que pensé hacer es, recorrer para un dia X, todos los horarios Y, y asignar los datos por codigo. Pero seria mas lento recorrer mi calendario hora a hora, de cada dia.

Nota. Los horarios estan predefinidos, pero debo permitir que mi calendario sea dinamico en ese sentido, pues en caso de que se desee incluir una hora intermedia (9:15 - trabajar cada 15 min.) lo haga solo modificando la tabla de las horas, y el calendario liste todas las horas.

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta de Horas

Publicado por Isaias (5072 intervenciones) el 04/10/2007 00:59:59
¿Que base de datos estas ocupando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta de Horas

Publicado por Khristian (9 intervenciones) el 04/10/2007 03:00:29
Access...

No lo puse porque lo considere innesesario, pues la consulta SQL deberia servirme para todas (o casi) las bases de datos, salvo algunos cambios de sintaxis.

Pero ojala puedas ayudarme.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta de Horas

Publicado por Isaias (5072 intervenciones) el 04/10/2007 18:31:24
Eso, que mencionas es pura TEORIA, lo cierto es que codigo que desarrollas para Oracle, no funciona en SQL Server y lo que haces en este, no sirve para MySQL.

Debes unir ambas tablas, tanto donde tienes tus registros, como la que hiciste con todas tus horas, mediante un FULL JOIN

SELECT A.*, B.*
FROM A FULL JOIN B
ON A.ID=B.ID

Las que salgan NULL, son las que NO tienes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta de Horas

Publicado por Khristian (9 intervenciones) el 05/10/2007 22:36:13
Gracias, por la aclaracion y la ayuda.

la probaré
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta de Horas

Publicado por Khristian (1 intervención) el 11/10/2007 01:35:39
No funko...

sigue igual....

Si alguien pudiese mandarme un ejemplo... se lo agradeceria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar