
11/08/2008, 10:41
|
 | | | Fecha de Ingreso: agosto-2008 Ubicación: Melipilla
Mensajes: 49
Antigüedad: 16 años, 7 meses Puntos: 0 | |
Respuesta: columnas dinamicas en select Mira, esto recién lo estoy entendido yo, y creo que lo puedes utilizar,
Espero poder expresarme bien, para que lo entiendas
Primero crea una tabla temporal, para unir la tabla usuariosEnCursos con CursoProgramado, recuerda hacer el select distinct para que no se repitan los alumnos en cursos, para asegurarte que la temp esta bien, cuenta los registros que tienes en la tabla usuariosEnCursos y en la tabla temporar te debe dar la misma cantidad de registros
El resultado debe ser algo así
v_usuario---v_curso_programado----fechafin
11------------------1------------------------23/08/08
23------------------1------------------------23/08/08
11------------------2------------------------10/07/08
Luego realiza otro select distinct uniendo la tabla usuarios y la tabla temporal, seleccionado los datos de usuario que necesitas, mas los cursos, para los cursos
Realiza un
sum(case(temp. v_curso_programado) when (1) then (temp.fechafin) else(0)end) as cusro1,
sum(case(temp. v_curso_programado) when (2) then (temp.fechafin) else(0)end) as cusro2,
sum(case(temp. v_curso_programado) when (N) then (temp.fechafin) else(0)end) as cusroN,
etc….
Where usuarios left outer join temp
On usuarios = temp.v_usuario
Group by “todos los datos que seleccionaste”
Order by “usuario”
Espero se entienda, mira que a mi me a costado entender esta unión, pero por lo menos me funciono, saludos
Por ultimo, si no te funciona, es por que entendí mal tu problema, jeje, suerte. |