Ver Mensaje Individual
  #10 (permalink)  
Antiguo 11/08/2008, 10:41
Avatar de rj69
rj69
 
Fecha de Ingreso: agosto-2008
Ubicación: Melipilla
Mensajes: 49
Antigüedad: 15 años, 9 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.