Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consultas multiples en una tabla con mysql? (https://www.clubdelphi.com/foros/showthread.php?t=81710)

Theluar 10-12-2012 22:17:12

Consultas multiples en una tabla con mysql?
 
Hola a todos!, estoy trabajando en un programa que me arroje en un TDBGrid la consulta de un horario de materias, en donde quisiera que se mostrasen de la siguiente manera:

Horario | Lunes | Martes | Miércoles | ...
7-8......| MAte | ingles ..|etc...
8-9......| Fisica | etc...

Se tienen las siguientes tablas creadas en la BD Mysql :

horario(1) se encuentran alojados los hararios existenes
-id
-inicio //hora inicial
-fin //hora final

día(2) se encuentran alojados los dias existentes.
-id
-nom //Lun,Mart,ect

materia(3) // se encuentran alojadas las materias existentes
- id
- nom//mate,ingles,etc...

asignaciones(4) //asignaciones de materias horas, etc
-id
-id_hora
-id_materia
-id_dia


como puedo realizar la consulta para que la tabla me aparezca como la deseo.?

he tratado usando lo siguiente :
Código SQL [-]
(SELECT Concat(hora.inicio,' ', hora.fin) as Horario, mat.nom as Lunes , FROM asignaciones a
left outer join dia d
   on a.id_dia=d.id_dia
left outer join horario hora
   on a.id_hora=hora.id_hora
left outer join materia mat
   on a.id_materia=mat.id_materia
Where d.nom='Lunes ') //Nombre del Dia.

UNION

(SELECT Concat(hora.inicio,' ', hora.fin) as Horario, mat.nom as Lunes , FROM asignaciones a
left outer join dia d
   on a.id_dia=d.id_dia
left outer join horario hora
   on a.id_hora=hora.id_hora
left outer join materia mat
   on a.id_materia=mat.id_materia
Where d.nom='Martes ') //Nombre del Dia.

//etc,etc,

El Problema e que el UNION solo me combina los campos

y todas las materias me las muestra en el día lunes, eliminando todos los demás días.

quiero saber si existe alguna manera de unir columnas de varias consultas o alguna idea de como efectuar lo anteriormente descrito..


de antemano muchas gracias por su ayuda.

Theluar 13-12-2012 18:52:23

Veo que no hay respuestas sobre el Tema, pero quizás puedan ayudarme con alguna idea sobre como hacer que se muestren los horarios de la manera descrita anteriormente.

De antemano muchas gracias.


La franja horaria es GMT +2. Ahora son las 15:02:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi