Hola foro como andan espero que bien, ya creo haber terminado la consulta pero quiero q me digan si es optima o no mi solución espero sugerencias:
Código SQL
[-]SELECT asignaturas.nombre_asignatura,
perio1.definitiva as periodo_1,
perio2.definitiva as periodo_2,
perio3.definitiva as periodo_3,
perio4.definitiva as periodo_4,
TRUNCATE((perio1.definitiva+perio2.definitiva+perio3.definitiva+perio4.definitiva)/4,2) as definitiva
FROM asignaturas,
periodos_calificados as perio1,
periodos_calificados as perio2,
periodos_calificados as perio3,
periodos_calificados as perio4
WHERE perio1.id_alumno ='31479151' AND
perio1.id_sede ='24' AND
perio1.id_jornada ='0' AND
perio1.id_grado ='5' AND
perio1.ID_GRUPO ='1' AND
perio1.ano_lectivo = '2012' AND
perio1.id_asignatura = asignaturas.id_asignatura AND
perio1.id_periodo = '1' AND
perio2.id_alumno = perio1.id_alumno AND
perio2.id_sede = perio1.id_sede AND
perio2.id_jornada = perio1.id_jornada AND
perio2.id_grado = perio1.id_grado AND
perio2.ID_GRUPO = perio1.ID_GRUPO AND
perio2.ano_lectivo = perio1.ano_lectivo AND
perio2.id_asignatura = perio1.id_asignatura AND
perio2.id_periodo = '2' AND
perio3.id_alumno = perio1.id_alumno AND
perio3.id_sede = perio1.id_sede AND
perio3.id_jornada = perio1.id_jornada AND
perio3.id_grado = perio1.id_grado AND
perio3.ID_GRUPO = perio1.ID_GRUPO AND
perio3.ano_lectivo = perio1.ano_lectivo AND
perio3.id_asignatura = perio1.id_asignatura AND
perio3.id_periodo = '3' AND
perio4.id_alumno = perio1.id_alumno AND
perio4.id_sede = perio1.id_sede AND
perio4.id_jornada = perio1.id_jornada AND
perio4.id_grado = perio1.id_grado AND
perio4.ID_GRUPO = perio1.ID_GRUPO AND
perio4.ano_lectivo = perio1.ano_lectivo AND
perio4.id_asignatura = perio1.id_asignatura AND
perio4.id_periodo = '4'