Promediar notas automáticamente

Estoy diseñando una BD en access 2007, tengo 6 campos para 6 notas y necesito promediar. La cuestión es que no siempre se dan las 6 notas, en ocasiones solo 2, 3 o 4, entonces cada vez tengo que cambiar la ecuación, de lo contrario me arroja error cuando los campos no tienen ningún valor.

Este procedimiento de promediar es semanal por lo que no quiero cada nada estar cambiando la formula dependiendo el numero de campos a promediar. Si alguien me puede decir una secuencia o ecuación para no tener que cambiarla cada vez que cambien el numero de notas a promediar les quedaría muy agradecido

1 Respuesta

Respuesta
1

Para empezar, para sustituir valores nulos por un número, por ejemplo 0, podrías utilizar la siguiente función:

IsNull(campodelabbdd, 0)

Eso significa que si un campo es null, cambiará su valor por 0 para esa consulta. Luego, podrías utilizar otra consulta que te calcule el total de notas distintas de null, y hacer la división por ellas, luego de sumarlas todas, teniendo en cuenta que las que cambies por 0 no afectarán para nada. No sé si me explico, un ejemplo:

Nota 1: 10

Nota 2: 9

Nota 3: null

Nota 4: null

Nota 5: 5

Nota 6: 4

La consulta sería algo como:

select SUM(IsNull(nota1,0),IsNull(nota2,0)...y así hasta tener los 6 campos...)/(subconsulta que cuente cuantos campos son distintos de null) from TABLA...

Espero haberte ayudado, si necesitas alguna aclaración más, no dudes en pedirla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas