Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Corrigir a informação

No início é apresentado um relatório das vendas, o valor final desse exercício acaba parecendo errado, porém o correto seria multiplicar a quantidade pelo preço para chegar no mesmo formato do relatório inicial hehe

O código desse estudo fiz separado, nada demais, somente acrescentando a multiplicação da venda.

/* QUANTIDADE DE VENDAS COM SABOR*/

SELECT   TP.SABOR, YEAR(NF.DATA_VENDA) AS ANO_VENDA, ROUND(SUM(INF.QUANTIDADE*INF.PRECO),2) AS TOTAL_VENDIDO
    FROM tabela_de_produtos TP
    INNER JOIN itens_notas_fiscais INF
    ON TP.CODIGO_DO_PRODUTO = INF.CODIGO_DO_PRODUTO
        INNER JOIN notas_fiscais NF
        ON NF.NUMERO = INF.NUMERO
WHERE YEAR(DATA_VENDA) = 2016
GROUP BY TP.SABOR
ORDER BY TOTAL_VENDIDO DESC;

/* QUANTIDADE DE VENDAS TOTAIS */
SELECT YEAR(NF.DATA_VENDA) AS ANO_VENDA, ROUND(SUM(INF.QUANTIDADE*INF.PRECO),2) AS TOTAL_VENDIDO
    FROM tabela_de_produtos TP
    INNER JOIN itens_notas_fiscais INF
    ON TP.CODIGO_DO_PRODUTO = INF.CODIGO_DO_PRODUTO
        INNER JOIN notas_fiscais NF
        ON NF.NUMERO = INF.NUMERO
WHERE YEAR(DATA_VENDA) = 2016
GROUP BY YEAR(NF.DATA_VENDA)
ORDER BY TOTAL_VENDIDO DESC;

/* QUANTIDADE DE VENDAS TOTAIS COM PORCENTAGEM */
SELECT VENDAS_ANO_SABOR.SABOR, VENDAS_ANO_SABOR.ANO_VENDA, VENDAS_ANO_SABOR.TOTAL_VENDIDO, (VENDAS_ANO_SABOR.TOTAL_VENDIDO/VENDA_TOTAL.TOTAL_VENDIDO)*100 AS PORCENTAGEM FROM 
    (SELECT TP.SABOR, YEAR(NF.DATA_VENDA) AS ANO_VENDA, ROUND(SUM(INF.QUANTIDADE*INF.PRECO),2) AS TOTAL_VENDIDO
        FROM tabela_de_produtos TP
        INNER JOIN itens_notas_fiscais INF
        ON TP.CODIGO_DO_PRODUTO = INF.CODIGO_DO_PRODUTO
            INNER JOIN notas_fiscais NF
            ON NF.NUMERO = INF.NUMERO
    WHERE YEAR(DATA_VENDA) = 2016
    GROUP BY TP.SABOR) AS VENDAS_ANO_SABOR
INNER JOIN
    (SELECT YEAR(NF.DATA_VENDA) AS ANO_VENDA, ROUND(SUM(INF.QUANTIDADE*INF.PRECO),2) AS TOTAL_VENDIDO
        FROM tabela_de_produtos TP
        INNER JOIN itens_notas_fiscais INF
        ON TP.CODIGO_DO_PRODUTO = INF.CODIGO_DO_PRODUTO
            INNER JOIN notas_fiscais NF
            ON NF.NUMERO = INF.NUMERO
    WHERE YEAR(DATA_VENDA) = 2016
    GROUP BY YEAR(NF.DATA_VENDA)) AS VENDA_TOTAL
ON VENDAS_ANO_SABOR.ANO_VENDA = VENDA_TOTAL.ANO_VENDA
ORDER BY VENDAS_ANO_SABOR.TOTAL_VENDIDO DESC;
2 respostas

Olá Lucas, tudo bem? Você poderia solicitar essa alteração na opção de "SUGERIR ALTERAÇÃO" da aula, assim é mais rápido verificar essa correção!

solução!

Opa, foi mal, estou começando a interagir mais no fórum agora =D

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