Bases de Datos - ¿Agrupar mostrando datos una sola vez? En sql

 
Vista:

¿Agrupar mostrando datos una sola vez? En sql

Publicado por ADILENE (1 intervención) el 08/05/2013 22:19:08
Tengo una consulta que aparece así:

1
2
3
4
5
6
7
UO   Participante   CursoAprobados CursosIcumplidos
CS      Juan               3              2
CS      Perla              1              2
CS      MARÍA              1              4
RH      JOSÉ               1              2
DC      CARLOS             4              6
DC      ADILENE            2              0




Me gustaría que apareciera así:

1
2
3
4
5
6
7
UO Participante CursoAprobados CursosIcumplidos
CS    Juan            3               2
       Perla          1               2
       MARÍA          1               4
RH     JOSÉ           1               2
DC     CARLOS         4               6
       ADILENE        2               0



¿Como hago eso? o si de puede hacer vía programación, trabajo con vb y access
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
sin imagen de perfil

¿Agrupar mostrando datos una sola vez? En sql

Publicado por Alixandro (18 intervenciones) el 14/05/2013 02:34:17
Hola Adeline, esto es sql basico, practicamente es los que se ve desde que uno se inica en el mundo de las BD. si utiliza oracle, en el sqlplus puedes diseñar reportes con la misma presentacion como si fuese grafico, incluso con rompimientos, saltos, numeracion de paginas, encabezados y titulos etc. es una tarea, puedes ver en la web hay muchos material al respoecto. Te doy un poco de luz para que no digas. haste el query (Select) sumando o contando los dos ultimos campos, cuando lo ejecute se presentara un error diciendo que debes agrupar, entonces modifica el query agrupando los campos restantes.

Ejemplo:

Error
Select UO Participante Count(CursoAprobados) CursoAprobados,
Count(CursosIcumplidos) CursosIcumplidos
From Nombre_Tabla
Where nombre_campo = valor_parametro
And mas condicines si las hay.

Bueno
Select UO, Participante, Count(CursoAprobados) CursoAprobados,
Count(CursosIcumplidos) CursosIcumplidos
From Nombre_Tabla
Where nombre_campo = valor_parametro
Group by UO, Participante


Error
Select UO Participante Sum(CursoAprobados) CursoAprobados,
Sum(CursosIcumplidos) CursosIcumplidos
From Nombre_Tabla
Where nombre_campo = valor_parametro
And mas condicines si las hay.

Bueno
Select UO Participante Sum(CursoAprobados) CursoAprobados,
Sum(CursosIcumplidos) CursosIcumplidos
From Nombre_Tabla
Where nombre_campo = valor_parametro
And mas condicines si las hay.
Group by UO, Participante

Espero te haya ayudado.

Sigue Leyendo.
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
sin imagen de perfil

¿Agrupar mostrando datos una sola vez? En sql

Publicado por Ignacio Esviza (2 intervenciones) el 14/05/2013 03:26:08
Adiline:

Si la consulta la querés pasar a un reporte:

1. Obtenés la consulta tal como la estás haciendo.
2. En el reporte buscá la opción "Hide duplicate values" en el agrupamiento por UO y marcalo. Access no va a mostrar los valores duplicados para UO dentro de un mismo grupo.

Si la consulta la estás usando para otra cosa:

1. Obtenés la consulta tal como la estás haciendo.
2. Debés aplicar algo de programación para tomar el primer valor de los grupos de UO, pero ignorarlo siempre que UO sea el mismo grupo.

Pseudocódigo:

uoAnterior = ' '
para cada fila
si uoAnterior <> fila.UO
mostrar fila.UO
uoAnterior = fila.UO
finsi
mostrar fila.participante
mostrar fila.cursoAprobados
mostrar fila.cursoIncumplidos
finpara

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