Muchas gracias por responder. He probado la solución pero no da aun el resultado deseado, tuve que modificarlo así:
Código:
SELECT i.idIndic,i.Indicador, AVG((i.PorcIndic/100)*n.Nota)
FROM (tbcompetencias c
INNER JOIN tbindicadores i
ON c.idCompet=i.CompetenciaIndic)
INNER JOIN tbnotas n
ON i.idIndic=n.idIndic
WHERE c.PeriodoCompet=1
AND MateriaGrupoCompet="160"
AND n.idAlumno=256
GROUP BY i.idIndic,i.Indicador;
MateriaGrupoCompet es la materia a la que le quiero sacar el promedio del alumno 256.
Me explico mejor con un ejemplo. En el boletín necesito que le aparezca algo así:
MATEMÁTICAS....................................... ....... 77
1. Aplico Álgebra en mi vida..........................................60%-75
a. Taller 1--------------------------------------50%-50
b. Examen 1-----------------------------------50%-100
2. Manipulo problemas reales.......................................40%-80
a. Cuaderno------------------------------------100%-80
En este ejemplo puse que matemáticas tiene 2 competencias, una vale el 60% y la otra 40%. Dentro de la primera hay 2 indicadores, cada uno vale el 50%, en uno el alumno sacó 50 y en el otro sacó 100. Por último la segunda competencia vale el 40% y solo tiene un indicador, el cual obviamente vale el 100% de la competencia, y el alumno sacó 80.
Por favor siganme ayudando, acaso es necesario hacer varias consultas, osea, estoy intentando con una:
1. Llamo las competencias y recorro cada una con un while (php - mysql_fetch_array)
2. Llamo los indicadores de la competencia en la que va el while y los recorro con otro while.
3. Llamo las notas de ese alumno y del indicador en el que va el anterior while, multiplicando cada nota por el porcentaje y voy sumando el resultado en variables.
Estoy dandole a eso, estoy bastante preocupado, lo necesito urgente. Mil gracias a todos.
PD: Los porcentajes son guardados como enteros, NO como 0.3 para indicar que es 30%.