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