hola amigos... como estan? aca tengo un problema que no le encuentro la vuelta y lo que necesito es que me muestre en sql todos los alumnos de un curso y me tiene que traer id_alumno, nombre, apellido, sumar faltas tanto jutificadas, como injutificadas y el total de faltas ... en caso de tener asistencia perfecta solo me tendra que salir solamente id_alumno, nombre, apellido... pero a mi me salen solamente las que tienen inasistencias :( necesito que me ayude a traer todas ya que no encuentro mi error.. gracias amigos.
les paso el codigo...
Código PHP:
select a.id_alumno,a.apellido,a.nombre,m.condicion ,
sum(case when e.id_estado=1 then cast(i.cantidad AS decimal(10,1))else 0 end) AS JUSTIFICADAS,
sum(CASE WHEN e.id_estado=2 then cast(i.cantidad AS decimal(10,1))else 0 end) AS INJUSTIFICADAS,
sum(CAST(i.cantidad as decimal(10,1))) as TOTAL
from alumnos a
inner join matriculas m on m.id_alumno = a.id_alumno
inner join inasistenciasA i on i.id_alumno = a.id_alumno
inner join motivos mo on mo.id_motivo= i.id_motivo
inner join estados e on e.id_estado= i.id_estado
inner join AsistenciaCurso ac on ac.id_curso = m.id_curso
where m.id_curso ='1aCB' and (i.fecha <= '29/08/2011' and i.fecha >= '29/08/2011')and i.añoCursado = 2011
group by a.id_alumno,a.apellido,a.nombre,m.condicion
Para mi el problema esta en case ya que los estados que existen son 1 y 2 cuando tienen inasistencia... pero cuando id estado en null tanto en justificadas e injustificadas no me trae al alumno