Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] SOLUCIÓN: Realiza el desafío anterior utilizando CASE condicional.

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');
1 respuesta

Hola, Hazel ,

Gracias por compartir tu código con nosotros. Recuerda que estamos aquí para ayudarte. Si necesitas ayuda, no dudes en buscarnos en el foro.

¡Gracias nuevamente!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!