1
resposta

Minha resolução


```DELIMITER $$
USE `sucos_vendas`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Comparativo_Vendas_Case`(vData1 date, vData2 date)
BEGIN
DECLARE vTotalVenda1 FLOAT;
DECLARE vTotalVenda2 FLOAT;
DECLARE vMensagem varchar(30);
SELECT SUM(B.QUANTIDADE * B.PRECO) INTO vTotalVenda1 
FROM notas_fiscais A
INNER JOIN itens_notas_fiscais B
ON A.NUMERO = B.NUMERO
WHERE A.DATA_VENDA = vData1;
SELECT SUM(B.QUANTIDADE * B.PRECO) into vTotalVenda2 
    FROM NOTAS_FISCAIS A INNER JOIN ITENS_NOTAS_FISCAIS B
    ON A.NUMERO = B.NUMERO
    WHERE A.DATA_VENDA = vData2;
CASE
WHEN ((vTotalVenda2 - vTotalVenda1) / vTotalVenda1) * 100  >  10 THEN SET vMensagem = 'Verde';
WHEN ((vTotalVenda2 - vTotalVenda1) / vTotalVenda1) * 100 BETWEEN -10 AND 10 THEN SET vMensagem = 'Amarela';
WHEN Variacao <= -10 THEN  SET vMensagem = 'Vermelho';
END CASE;
    SELECT vTotalVenda1, vTotalVenda2, 
           ((vTotalVenda2 - vTotalVenda1) / vTotalVenda1) AS Variacao_Percentual, 
           vMensagem;
    SELECT vTotalVenda1, vTotalVenda2, 
    ((vTotalVenda2 - vTotalVenda1) / vTotalVenda1) * 100 AS Variacao_Percentual, 
    vMensagem;
END$$

DELIMITER ;
;

1 resposta

Olá, Patrícia, tudo bem?

Analisei o seu código e ele está certinho! Parabéns!

Continue com essa dedicação aos estudos, realizando as atividades propostas para consolidar os conhecimentos adquiridos!

Caso surja alguma dúvida, é compartilhar no fórum.

Abraços e até mais!

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