Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/08/2011, 21:31
Avatar de luisito1
luisito1
 
Fecha de Ingreso: junio-2009
Ubicación: Córdoba
Mensajes: 226
Antigüedad: 15 años, 6 meses
Puntos: 2
case problemon para mi

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_motivoi.id_motivo
inner join estados e on e
.id_estadoi.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