Hola sebandrescc2,
Trata con la siguiente sentencia:
Código MySQL:
Ver original dev.ALUMNO,
dev.NOTA1,
dev.NOTA2,
dev.NOTA3,
dev.PROMEDIO
i_alumnos.id_alumno,
CONCAT(i_alumnos.apellido
, ' ', i_alumnos.nombre
) ALUMNO
, SUM(IF(t_notas.id_parcial
= 1, t_notas.nota
, NULL)) NOTA1
, SUM(IF(t_notas.id_parcial
= 2, t_notas.nota
, NULL)) NOTA2
, SUM(IF(t_notas.id_parcial
= 3, t_notas.nota
, NULL)) NOTA3
, SUM(t_notas.nota
* (1 - ABS(SIGN(t_notas.id_parcial
- 2)))) + SUM(t_notas.nota
* (1 - ABS(SIGN(t_notas.id_parcial
- 3))))) / COUNT(t_notas.nota
), 1) PROMEDIO
LEFT JOIN t_notas
ON i_alumnos.id_alumno
= t_notas.id_alumno
AND t_notas.id_curso
= '1' AND t_notas.id_ramo
= '1' AND t_notas.semestre
= '1'
En
sqlfiddle.com el resultado.
Debes tener presente lo que te comenta
gnzsoloyo del cero (0) y NULL, en este caso dejo NULL para direfenciar de una NOTA con valor cero (0) y una NOTA que no existe (NULL), pero debes tratarlos correctamente.
Espero te sea útil.