Cita: ...
tbgrupoalumnos tiene el alumno, grupo y periodo
tbmateriagrupo están las materias de los tbgrupos
tbcompetencias tiene el id de la materia a la que pertenece
tbindicadores tiene el id de la competencia a la que pertenece
tbnotas tiene: el codigo del estudiante, el id del indicador al que pertenece y la Nota
...
Para poder ayudarte deberías postear los campos concretos de todas las tablas y sus relaciones, postea el resultado de
SHOW CREATE TABLE nombreTabla
para cada tabla.
Con lo que nos dices yo diria que en la tabla tbnotas falta el periodo para que esto pueda funcionar .... o es que los alumnos son distintos en cada perido?
Para que te diferencie Alumnos periodos y materias debes indicarlo en el GROUP BY....
GROUP BY idPeriodo,idAlumno,idMaterGrupo";
y entre las funciones de agregado esta AVG que directamente te darà la nota promedio del alumno....
12.15.1. GROUP BY (Aggregate) Functions