Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/02/2013, 18:39
wchiquito
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 13 años, 5 meses
Puntos: 42
Respuesta: Como devolver registros sin valores

Hola sebandrescc2,

Trata con la siguiente sentencia:

Código MySQL:
Ver original
  1.   dev.ALUMNO,
  2.   dev.NOTA1,
  3.   dev.NOTA2,
  4.   dev.NOTA3,
  5.   dev.PROMEDIO
  6.     i_alumnos.id_alumno,
  7.     CONCAT(i_alumnos.apellido, ' ', i_alumnos.nombre) ALUMNO,
  8.     SUM(IF(t_notas.id_parcial = 1, t_notas.nota, NULL)) NOTA1,
  9.     SUM(IF(t_notas.id_parcial = 2, t_notas.nota, NULL)) NOTA2,
  10.     SUM(IF(t_notas.id_parcial = 3, t_notas.nota, NULL)) NOTA3,
  11.     ROUND((SUM(t_notas.nota * (1 - ABS(SIGN(t_notas.id_parcial - 1)))) +
  12.     SUM(t_notas.nota * (1 - ABS(SIGN(t_notas.id_parcial - 2)))) +
  13.     SUM(t_notas.nota * (1 - ABS(SIGN(t_notas.id_parcial - 3))))) / COUNT(t_notas.nota), 1) PROMEDIO
  14.   FROM i_alumnos
  15.     LEFT JOIN t_notas ON i_alumnos.id_alumno = t_notas.id_alumno
  16.       AND t_notas.id_curso = '1'
  17.       AND t_notas.id_ramo = '1'
  18.       AND t_notas.semestre = '1'
  19.   GROUP by i_alumnos.id_alumno, ALUMNO
  20.   ORDER by ALUMNO) dev;
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.