PDA

Ver la Versión Completa : view para una consulta de agrupoción


jzginez
07-11-2003, 01:47:12
Hola a todos

Tengo el siguiente problema espero me puedan ayudar

tengo una base de datos para una escuela en una tabla (alumnos) guardo los datos de los alumnos, en otra (grupos) guardo un registro por cada materia que cursa actualmente el alumno con el grupo en el que cursa esa materia y sus asistencias por mes y calificaciones.

Me pidieron un reporte de asistencias por grupo, facil segun yo, solo agrupe por alumno los datos de la base de grupos y sumo sus asistencias y sus faltas, el problema es que hay alumnos iregulares es decir p/e: cursan el 4º año pero ademas repiten una materia de 3º, en 5º año lleva materias optativas que se llevan en grupos diferentes asi que tube que aumentar otra consulta para saber en que grupo esta apuntado sin tomar encuenta en que grupo repite materia o toma las optativas a lo que mi consulta quedo como sigue:

código
---------------------------------------------------------------------------
SELECT Alumnos.MATRICULA, MAX( Alumnos.APELLIDOSNOMBRE ) APELLIDOSNOMBRE,
(select max(grupo)
from grupos
Where (grupo not like 'A%') and (Grupo not like 'I%')
and (grupo <> '4D') and (Grupo <> '5D')
and alumno = Alumnos.MATRICULA
group by alumno) Grupo
, SUM( Grupos.TA1 ) TA1, SUM( Grupos.TF1 ) TF1, SUM( Grupos.TA2 ) TA2, SUM( Grupos.TF2 ) TF2, SUM( Grupos.TA3 ) TA3, SUM( Grupos.TF3 ) TF3, SUM( Grupos.TA4 ) TA4, SUM( Grupos.TF4 ) TF4, SUM( Grupos.TA5 ) TA5, SUM( Grupos.TF5 ) TF5, SUM( Grupos.TA6 ) TA6, SUM( Grupos.TF6 ) TF6, SUM( Grupos.TA7 ) TA7, SUM( Grupos.TF7 ) TF7, SUM( Grupos.TA8 ) TA8, SUM( Grupos.TF8 ) TF8, SUM( Grupos.TA9 ) TA9, SUM( Grupos.TF9 ) TF9, SUM( Grupos.TA10 ) TA10, SUM( Grupos.TF10 ) TF10, SUM( Grupos.TA11 ) TA11, SUM( Grupos.TF11 ) TF11, SUM( Grupos.TA12 ) TA12, SUM( Grupos.TF12 ) TF12, SUM( Grupos.TOTALA ) TOTALA, SUM( Grupos.TOTALF ) TOTALF
FROM ALUMNOS Alumnos
INNER JOIN GRUPOS Grupos
ON (Alumnos.MATRICULA = Grupos.ALUMNO)
GROUP BY Alumnos.MATRICULA

-----------------------------------------------------------------------------------

El problema es que no me muestra los campo ordenados, ya intente poner ORDER BY GRUPO y no funciona asi que cree un view en base a esta consulta y desde mi aplicación la pensava ordenar, pero me encuentro con la gran sorpresa de que no funciona mi view si agrupo la base a la que estoy aplicando la consulta, alguien me puede decir como realizo un view para una consulta que tenga agrupasión porfavor

kinobi
07-11-2003, 02:45:58
Hola,

en principio no parece que sea un problema relacionado con extensiones particulares del dialecto SQL de InterBase, así que paso el hilo al foro "SQL".

Como no lo mencionas, indicar para los que lean el hilo en el foro de "SQL", que el mismo proviene del foro "InterBase y Firebird", por lo que es de suponer que ése es el motor de datos.

Saludos.