Necesito sumar un campo obviando algunos registros

From: "Sergio Valdes Hurtado" <svh(dot)pgsql(at)gmail(dot)com>
To: "Lista PostgreSql" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Necesito sumar un campo obviando algunos registros
Date: 2007-05-15 17:04:51
Message-ID: 9032d01f0705151004p6f33f147k7700b02bf5317dfd@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Estimados,

Tengo una tabla en que se registra la asistencia diaria de los cursos
y que está definida de la siguiente forma:

id Varchar 30
mes integer
año integer
d1 integer
d2 integer
.
.
.
d31 integer
.
.

En los campos d1 a d31 se registra la asistencia diaria a los cursos.
Cada uno de estos campos registra la asistencia con un valor de 0 a 45
(0 indica que nadie asistió a clases y 45 es la asistencia máxima
definida para cada clase), pero además se registra un valor -1 si no
se tomó asistencia en un cierto día.

El problema es que ahora necesito hacer un informe que me sume la
asistencia diaria y que incluya todos los cursos de ese día, y me
encuentro en que hay algunos días en que hay cursos que se toma
asistencia (por lo que quedan con un valor entre 0 y 45) y otros
cursos que no tienen clase y por lo tanto no se toma asistencia (por
lo que quedan con un valor -1).

Cuando hago la suma de esos días, el valor queda distorsionado ya que
los valores -1 los va restando de los cursos que efectivamente tienen
clases.
¿Como puedo hacer para que no tome en cuenta los valores -1 en la suma?

No puedo cambiar la estructura de las tablas, ya que es un sistema
heredado y que ya se encuentra funcionando, pero nos han pedido ir
agregándole algunos informes.

La consulta que se esta haciendo es:

Select sum(d1), sum(d2), ...., sum(d31)
where ......

Gracias de antemano por su ayuda.

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2007-05-15 17:20:00 Re: Necesito sumar un campo obviando algunos registros
Previous Message Gabriel Hermes Colina Zambra 2007-05-15 16:50:29 Re: Eliminar blancos en DB