Ver Mensaje Individual
  #13 (permalink)  
Antiguo 12/08/2008, 05:47
mahoni
 
Fecha de Ingreso: julio-2006
Mensajes: 145
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: columnas dinamicas en select

Casi lo tengo, solo me falla una cosa. Igual es lo mas gordo...jejeje:

Si un usuario ha realizado mas de un curso(por ejemplo 4), pues me aparecen 4 filas con su nombre. Y yo quiero solamente una. Aqui esta mi consulta:
vista_temp es la vista creada anteriormente para unir usuariosEnCursos con CursoProgramado

select distinct dbo.vista_temp.v_usuario as Id_Usuario,
usuarios.nombre as Nombre,
usuarios.apellido1 as Apellido1,
usuarios.apellido2 as Apellido2,
dbo.vista_temp.v_curso_programado as Id_Curso_Programado,

(case(dbo.vista_temp.id_curso) when (212) then (convert(nvarchar,dbo.vista_temp.fecha_fin)) else('')end) as CIR,
(case(dbo.vista_temp.id_curso) when (187) then (convert(nvarchar,dbo.vista_temp.fecha_fin)) else('')end) as CSIS,
(case(dbo.vista_temp.id_curso) when (207) then (convert(nvarchar,dbo.vista_temp.fecha_fin)) else('')end) as DGR8,
(case(dbo.vista_temp.id_curso) when (51) then (convert(nvarchar,dbo.vista_temp.fecha_fin)) else('')end) as PRL,
(case(dbo.vista_temp.id_curso) when (235) then (convert(nvarchar,dbo.vista_temp.fecha_fin)) else('')end) as CER,
(case(dbo.vista_temp.id_curso) when (232) then (convert(nvarchar,dbo.vista_temp.fecha_fin)) else('')end) as CCA,
(case(dbo.vista_temp.id_curso) when (258) then (convert(nvarchar,dbo.vista_temp.fecha_fin)) else('')end) as RCCA,
(case(dbo.vista_temp.id_curso) when (205) then (convert(nvarchar,dbo.vista_temp.fecha_fin)) else('')end) as DGR10,
(case(dbo.vista_temp.id_curso) when (186) then (convert(nvarchar,dbo.vista_temp.fecha_fin)) else('')end) as DGR9,
(case(dbo.vista_temp.id_curso) when (281) then (convert(nvarchar,dbo.vista_temp.fecha_fin)) else('')end) as CCR,
(case(dbo.vista_temp.id_curso) when (255) then (convert(nvarchar,dbo.vista_temp.fecha_fin)) else('')end) as CS
from dbo.vista_temp

left outer join usuarios
ON dbo.vista_temp.v_usuario = usuarios.id_usuario


group by dbo.vista_temp.v_usuario,usuarios.nombre,usuarios. apellido1,usuarios.apellido2,dbo.vista_temp.v_curs o_programado,dbo.vista_temp.fecha_fin,dbo.vista_te mp.id_curso

¿Como podría agrupar para que me aparezca una fila por cada usuario y no una fila por cada curso realizado??


Muchas gracias!