1
resposta

Sei que ta diferente mas queria entender meu erro

select CONCAT('O cliente ',c.NOME, ' faturou ',round(sum(inf.QUANTIDADE * inf.PREÇO),2), ' no ano de 2016') from [NOTAS FISCAIS] nf join [TABELA DE CLIENTES] c on c.CPF = nf.CPF join [ITENS NOTAS FISCAIS] inf on inf.NUMERO = nf.NUMERO where year(nf.DATA) = 2016 group by c.NOME

1 resposta

Olá Matheus!

O problema está na parte que você usou o round. Esse método serve para arredondar um número decimal.

A grande diferença aconteceu, porque para o valor ficar correto, devemos converter o resultado da multiplicação entre QUANTIDADE e PREÇO para decimal, senão fica aquele número bizarro:

Aquela conversão para varchar é mais uma boa pratica, pois, todas as informações ficam no mesmo formato. Fazendo a conversão para decimal, mostrará o valor esperado:

Espero que minha explicação tenha te ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software