DELIMITER $$
CREATE PROCEDURE `comparacion_ventas CASE`(vfecha1 DATE, vfecha2 DATE)
BEGIN
DECLARE facturacion_inicial FLOAT;
DECLARE facturacion_final FLOAT;
DECLARE variacion float;
SELECT SUM(B.CANTIDAD * B.PRECIO) INTO facturacion_inicial FROM
facturas A INNER JOIN items_facturas B
ON A.NUMERO = B.NUMERO
WHERE A.FECHA_VENTA = vfecha1;
SELECT SUM(B.CANTIDAD * B.PRECIO) INTO facturacion_final FROM
facturas A INNER JOIN items_facturas B
ON A.NUMERO = B.NUMERO
WHERE A.FECHA_VENTA = vfecha2;
SET variacion = ((facturacion_final / facturacion_inicial) -1) * 100;
CASE
WHEN variacion > 10 THEN
SELECT 'Verde';
WHEN variacion >= -10 AND variacion <= 10 THEN
SELECT 'Amarillo';
WHEN variacion < -10 THEN SET variacion = 'Rojo';
END CASE;
END $$
SELECT YEAR (FECHA_VENTA) AS ANIO, SUM(B.CANTIDAD * B.PRECIO) AS TOTAL_VENTA FROM
facturas A INNER JOIN items_facturas B
ON A.NUMERO = B.NUMERO group by YEAR(FECHA_VENTA);
CALL comparacion_ventas('2015-01-01', '2016-01-01');
CALL comparacion_ventas('2017-01-01', '2018-01-01');
CALL comparacion_ventas('2016-01-01', '2015-01-01');