1
resposta

MINHA RESPOSTA_

CREATE PROCEDURE `compara_vendas_case`(vData1 DATE, vData2 DATE)
BEGIN

DECLARE MENSAGEM VARCHAR (50);
DECLARE FATURAMENTO_INICIAL FLOAT;
DECLARE FATURAMENTO_FINAL FLOAT;
DECLARE VARIACAO FLOAT;

    SELECT ROUND(SUM(B.QUANTIDADE * B.PRECO)) INTO FATURAMENTO_INICIAL FROM 
    NOTAS_FISCAIS A INNER JOIN ITENS_NOTAS_FISCAIS B
    ON A.NUMERO = B.NUMERO
    WHERE A.DATA_VENDA = vData1;

    SELECT ROUND(SUM(B.QUANTIDADE * B.PRECO)) INTO FATURAMENTO_FINAL FROM 
    NOTAS_FISCAIS A INNER JOIN ITENS_NOTAS_FISCAIS B
    ON A.NUMERO = B.NUMERO
    WHERE A.DATA_VENDA = vData2;

SET VARIACAO = ((FATURAMENTO_FINAL/FATURAMENTO_INICIAL)-1)*100;

CASE
WHEN  VARIACAO > 10 THEN SET MENSAGEM = 'VERDE!';
WHEN VARIACAO >= -10 AND VARIACAO <= 10 THEN SET MENSAGEM = 'AMARELO!';
WHEN VARIACAO < -10 THEN SET MENSAGEM = 'VERMELHO!';
END CASE;
SELECT FATURAMENTO_INICIAL, FATURAMENTO_FINAL, VARIACAO, MENSAGEM;
END
1 resposta

Olá, Vitor, tudo bem?

A sua procedure ficou muito legal, você está indo muito bem.

Continue assim e bons estudos!