Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

GROUP BY YEAR (DATA_VENDA) no final do código é necessário? Terminei o código em WHERE YEAR(DATA_VENDA)=2016 e retornou o mesmo resultado.

SELECT YEAR(DATA_VENDA), FLOOR(SUM(IMPOSTO * (QUANTIDADE * PRECO))) FROM notas_fiscais NF INNER JOIN itens_notas_fiscais INF ON NF.NUMERO = INF.NUMERO WHERE YEAR(DATA_VENDA) = 2016 GROUP BY YEAR(DATA_VENDA)

select year(a.data_venda) as ano, floor(sum(a.imposto*b.quantidade*b.preco)) as imposto_devido from notas_fiscais a inner join itens_notas_fiscais b on a.numero = b.numero where year(data_venda)=2016;
1 resposta
solução!

Olá Paulo, tudo bem? É uma regra usarmos os campos que não agregação YEAR(DATA_VENDA) do SELECT sempre no GROUP BY, isso é importante se pensarmos que fazendo isso no SQL Server vamos ter um erro, então como regra geral o ideal é que usemos e não ficamos sujeitos a possíveis falhas futuras, até porque se tivermos outros campos no SELECT seremos obrigados a informá-los no GROUP BY.

Espero ter esclarecido sua dúvida!