Não consigo fazer soma usando Sum no Sql
Pessoal
Não consigo fazer soma com campos usando Sum em SQL.
Se tenho os campos VL_PAGO e VL_MULTA e VL_DESP, se um desses campos está null, retorna null em todos eles
estou fazendo assim
SELECT CAMPO1, CAMPO2, SUM(VL_PAGO + VL_MULTA + VLDESP) as TotalPago
Está retornando NULL quando um dos campos está null
Aguardo resposta
Sou usuário de Delphi 7 + Interbase 6.0 + Conexão DBEXPRESS
Rogério
Não consigo fazer soma com campos usando Sum em SQL.
Se tenho os campos VL_PAGO e VL_MULTA e VL_DESP, se um desses campos está null, retorna null em todos eles
estou fazendo assim
SELECT CAMPO1, CAMPO2, SUM(VL_PAGO + VL_MULTA + VLDESP) as TotalPago
Está retornando NULL quando um dos campos está null
Aguardo resposta
Sou usuário de Delphi 7 + Interbase 6.0 + Conexão DBEXPRESS
Rogério
Rogeranalista
Curtidas 0
Respostas
Sremulador
09/02/2007
utilize o coalesce(Campo, valor);
GOSTEI 0
Rogeranalista
09/02/2007
Colega
Com o coalesc, não funciona. Estou usando o Interbase 6.0. Pensou eu que deve estar disponível somente para Firebird.. Será ???
Rogério
Com o coalesc, não funciona. Estou usando o Interbase 6.0. Pensou eu que deve estar disponível somente para Firebird.. Será ???
Rogério
GOSTEI 0
Emerson Nascimento
09/02/2007
tente assim:
e depois trate os resultados individualmente
ou assim:
SELECT CAMPO1, CAMPO2, SUM(VL_PAGO) TotPago, SUM(VL_MULTA) TotMulta, SUM(VLDESP) TotDesp
ou assim:
SELECT CAMPO1, CAMPO2, SUM( (case when VL_PAGO is null then 0.0 else VL_PAGO end) + (case when VL_MULTA is null then 0.0 else VL_MULTA end) + (case when VLDESP is null then 0.0 else VLDESP end) ) TotalPago
GOSTEI 0
Rogeranalista
09/02/2007
Valeu cara, o exemplo que voce passou com Case When funcionou, é o que estava precisando mesmo..
Obrigado pela força
Rogério
Obrigado pela força
Rogério
GOSTEI 0