Sum e Coalesce

SQL

Firebird

29/07/2019

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
Matheus Luis

Matheus Luis

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

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

GOSTEI 1

Mais Respostas

Matheus Luis

Matheus Luis

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



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
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

29/07/2019

porque o group by ????
GOSTEI 0
Matheus Luis

Matheus Luis

29/07/2019

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.
GOSTEI 0
POSTAR