MySQL - sumar registros de inasistencias

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 11 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

sumar registros de inasistencias

Publicado por giuli (7 intervenciones) el 17/09/2016 11:04:16
hola.. tengo las siguientes tablas en un sistema de asistencia escolar:

INASISTENCIA(idinasistencia,fecha,idtipoinassitencia,idalumno);
TIPOINASISTENCIA(idtipoinasistencia,valor);

¿Como puedo contar el valor total de inasistencia de un alumno dentro de un trimestre?
Osea desde marzo hasta mayo por ejemplo, cuando se arma la libreta se coloca el total de faltas digamos que tiene.

Probe lo siguiente:

1
SELECT SUM(valor) as total FROM tipoinasistencia WHERE tipoinasistencia.idtipoinasistencia IN (SELECT idtipoinasistencia FROM inasistencia WHERE fecha BETWEEN '2016-08-08' AND '2016-09-17' AND idalumno=3);

Pero parece ser me cuenta una sola vez por cada tipo de inasistencia y no por cada vez que aparece una inasistencia.

Que puedo hacer?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 98
Bronce
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

sumar registros de inasistencias

Publicado por kip (30 intervenciones) el 17/09/2016 23:29:37
Hola, en este caso creo que te ayudaria un INNER JOIN, ademas de hacer uso de COUNT() asi:

1
2
3
4
SELECT SUM(TI.valor * COUNT(IA.idinasistencia)) as total
FROM tipoinasistencia TI
INNER JOIN inasistencia IA ON TI.idtipoinasistencia = IA.idtipoinasistencia
WHERE IA.fecha BETWEEN '2016-08-08' AND '2016-09-17' AND IA.idalumno=3;

Cuentanos si de esa forma te muestra el resultado que necesitas, si te muestra algun error nos avisas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar