1
resposta

MINHA SOLUÇAO

SELECT 
    FORMAT(FLOOR(SUM(VENDAS.VALOR_DA_VENDA)), 'C', 'pt-br') AS VALOR_TOTAL_VENDAS,
    CONCAT(ROUND(AVG(NF.IMPOSTO * 100), 1), '%') AS MEDIA_DE_IMPOSTO,
    FORMAT(FLOOR(SUM(VENDAS.VALOR_DA_VENDA * NF.IMPOSTO)), 'C', 'pt-br') AS IMPOSTO_PAGO_NO_ANO  FROM NOTAS_FISCAIS NF
JOIN
(
    SELECT NUMERO ,(QUANTIDADE * PRECO) AS VALOR_DA_VENDA FROM ITENS_NOTAS_FISCAIS
) VENDAS ON VENDAS.NUMERO = NF.NUMERO
WHERE YEAR(NF.DATA_VENDA) = 2016
1 resposta

Olá, Robson! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso da subconsulta para calcular o valor das vendas, utilizou muito bem as funções de agregação para consolidar os resultados e ainda compreendeu a importância do FORMAT e ROUND para apresentar os dados de forma clara e amigável.

Uma dica interessante para o futuro é aplicar alias mais enxutos às colunas quando possível, facilitando a leitura dos relatórios. Assim:

SELECT 
    FORMAT(FLOOR(SUM(VENDAS.VALOR_DA_VENDA)), 'C', 'pt-br') AS Total_Vendas,
    CONCAT(ROUND(AVG(NF.IMPOSTO * 100), 1), '%') AS Media_Imposto,
    FORMAT(FLOOR(SUM(VENDAS.VALOR_DA_VENDA * NF.IMPOSTO)), 'C', 'pt-br') AS Total_Imposto_Pago
FROM NOTAS_FISCAIS NF
JOIN (
    SELECT NUMERO, (QUANTIDADE * PRECO) AS VALOR_DA_VENDA 
    FROM ITENS_NOTAS_FISCAIS
) VENDAS ON VENDAS.NUMERO = NF.NUMERO
WHERE YEAR(NF.DATA_VENDA) = 2016;

Isso faz com que os nomes das colunas retornadas fiquem mais intuitivos e próximos da linguagem de negócio.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!