Sum e Coalesce
29/07/2019
0
Eu preciso somar 3 campos de uma tabela ao mesmo tempo q uso coalesce neles para formata-los, pois alguns tem registros nulos. Porem não estou conseguindo somar os 3 campos para trazer o total de impostos.
select
CP.CODIGO,
CP.QUANTIDADE,
coalesce(CP.VALOR_ICMS, 0),
coalesce(CP.VALOR_PIS, 0),
coalesce(CP.VALOR_COFINS, 0),
sum(CP.VALOR_ICMS + CP.VALOR_PIS + CP.VALOR_COFINS) as TOTAL_IMPOSTOS
from VEN_SAIDAS_PRODUTOS CP
select
CP.CODIGO,
CP.QUANTIDADE,
coalesce(CP.VALOR_ICMS, 0),
coalesce(CP.VALOR_PIS, 0),
coalesce(CP.VALOR_COFINS, 0),
sum(CP.VALOR_ICMS + CP.VALOR_PIS + CP.VALOR_COFINS) as TOTAL_IMPOSTOS
from VEN_SAIDAS_PRODUTOS CP
Matheus Luis
Curtir tópico
+ 0
Responder
Post mais votado
29/07/2019
acredito que da forma que você apresentou, não seja utilizada a função SUM(). basta somar os campos:
select CP.CODIGO, CP.QUANTIDADE, coalesce(CP.VALOR_ICMS, 0), coalesce(CP.VALOR_PIS, 0), coalesce(CP.VALOR_COFINS, 0), coalesce(CP.VALOR_ICMS, 0) + coalesce(CP.VALOR_PIS, 0) + coalesce(CP.VALOR_COFINS, 0) as TOTAL_IMPOSTOS from VEN_SAIDAS_PRODUTOS CP
Emerson Nascimento
Responder
Mais Posts
29/07/2019
Matheus Luis
acredito que da forma que você apresentou, não seja utilizada a função SUM(). basta somar os campos:
select CP.CODIGO, CP.QUANTIDADE, coalesce(CP.VALOR_ICMS, 0), coalesce(CP.VALOR_PIS, 0), coalesce(CP.VALOR_COFINS, 0), coalesce(CP.VALOR_ICMS, 0) + coalesce(CP.VALOR_PIS, 0) + coalesce(CP.VALOR_COFINS, 0) as TOTAL_IMPOSTOS from VEN_SAIDAS_PRODUTOS CP
Eu consegui dessa forma:
select
CP.CODIGO,
CP.QUANTIDADE,
coalesce(CP.VALOR_ICMS, 0),
coalesce(CP.VALOR_PIS, 0),
coalesce(CP.VALOR_COFINS, 0) as,
sum(coalesce(CP.VALOR_ICMS, 0) + --
coalesce(CP.VALOR_PIS, 0) + --
coalesce(CP.VALOR_COFINS, 0)) as TOTAL_IMPOSTOS
from VEN_SAIDAS_PRODUTOS CP
group by 1, 2, 3, 4, 5
Responder
30/07/2019
Matheus Luis
porque o group by ????
Para agrupar o resultado do sum e dos coalesce, sem eles da erro. Acredito que seja sintaxe e logica da linguagem.
Responder
Clique aqui para fazer login e interagir na Comunidade :)