Somar descartando negativos

29/03/2006

Caros,

preciso somar os valores de uma tabela descartando os valore negativos através de uma query. Ou seja somar apenas os valores positivos, caso haja negativos ignorar.

Obrigado!!!!


Breguede

Respostas

30/03/2006

Thomaz_prg

uma forma seria:

select sum( valor ) from tabela where valor > 0



Responder Citar

30/03/2006

Breguede

O unico probelma é que somo varios outros campos.. fazendo dessa maneira eu desprezaria os outros campos. Tipo tenho valor1, valor2 e valor3. Somo todos eles. Caso o valor3 de um registro seja negativo naum somo apenas ele os outros (valor1 e valor2) tenho q somar... naum sei c fui claro mais eh mais ou menos issu!!!


Responder Citar

31/03/2006

Thomaz_prg

Qual BD tá usando??

Se for o Firebird (1.5 ou acima) ou DB2, pode usar [b:632a98c880]case[/b:632a98c880]:

SELECT SUM( CASE WHEN CAMPO1 < 0 THEN 0 ELSE CAMPO1 END +
                     CASE WHEN CAMPO2 < 0 THEN 0 ELSE CAMPO2 END + 
                     CASE WHEN CAMPO3 < 0 THEN 0 ELSE CAMPO3 END )
FROM TABELA


Tipo, ele verifica se o campo é maior que zero para somar. Se não for isso, dê alguns exemplos e diga qual é o BD.


Responder Citar

31/03/2006

Breguede

estou usando paradox!!!!


Responder Citar