1
resposta

Desafio: formato do faturamento

Fiz um pouco diferente. criei um view e depois a soma.

create view IMPOSTO_2016 AS
    select NF.imposto, IT.quantidade, IT.PRECO,NF.DATA_VENDA
    FROM NOTAS_FISCAIS NF
    inner join itens_notas_fiscais IT ON 
    NF.NUMERO= IT.NUMERO
    WHERE (NF.DATA_VENDA >= '2016' AND NF.DATA_VENDA < '2017')

SELECT FLOOR(SUM(IMPOSTO)) AS IMPOSTO_PAGO FROM IMPOSTO_2016

QUERIA SABER SE DESTA FORMA É MUITO FEIO RS

1 resposta

Oi, Daniela! Tudo bem?

Desde já, peço desculpas pela demora em te responder.

A maneira pela qual você resolveu a atividade também está correta e é super válida. A utilização de views pode auxiliar de forma significativa em nossas tarefas diárias — além disso, praticar diferentes soluções sempre é algo valoroso para o nosso desenvolvimento.

Dani, existem alguns pontos que podemos alterar nos códigos que você compartilhou, olha só:

1 - Para trabalhar com o ano de 2016, precisamos utilizar a função YEAR() juntamente com NF.DATA_VENDA, desta forma:

WHERE YEAR(NF.DATA_VENDA) = '2016'

Dessa maneira, será extraído da data apenas o seu ano, o qual será comparado com '2016'. Após essa modificação, a criação da view IMPOSTO_2016 ficará assim:

create view IMPOSTO_2016 AS
    select NF.imposto, IT.quantidade, IT.PRECO, NF.DATA_VENDA
    FROM NOTAS_FISCAIS NF
    inner join itens_notas_fiscais IT ON 
    NF.NUMERO= IT.NUMERO
    WHERE YEAR(NF.DATA_VENDA) = '2016';

2 - O cálculo do imposto total é obtido a partir da multiplicação das colunas IMPOSTO, QUANTIDADE e PRECO. Sabendo disso, podemos alterar o seu SELECT deixando-o assim:

SELECT FLOOR(SUM(IMPOSTO * (QUANTIDADE * PRECO))) AS IMPOSTO_PAGO FROM IMPOSTO_2016;

Dani, durante a construção das nossas consultas e do processo de manipulação de dados, não existe o feio! O mais importante, neste cenário, e identificar as formas com as quais a gente mais tem familiaridade e acredita ser pertinente.

Continue sempre evoluindo e com essa dedicação nos estudos, fico à disposição em caso de dúvidas.

Abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!