CREATE DEFINER=`root`@`localhost` PROCEDURE `comparacion_ventas`(IN fecha1 DATE, IN fecha2 DATE)
BEGIN
DECLARE total_venta_fecha1 DECIMAL(10,2);
DECLARE total_venta_fecha2 DECIMAL(10,2);
DECLARE variacion_porcentual DECIMAL(10,2);
DECLARE resultado VARCHAR(10);
-- Calcular las ventas totales para la primera fecha
SELECT COALESCE(SUM(B.CANTIDAD * B.PRECIO), 0) INTO total_venta_fecha1
FROM facturas A
INNER JOIN items_facturas B ON A.NUMERO = B.NUMERO
WHERE A.FECHA_VENTA = fecha1;
-- Calcular las ventas totales para la segunda fecha
SELECT COALESCE(SUM(B.CANTIDAD * B.PRECIO), 0) INTO total_venta_fecha2
FROM facturas A
INNER JOIN items_facturas B ON A.NUMERO = B.NUMERO
WHERE A.FECHA_VENTA = fecha2;
-- Calcular la variación porcentual
IF total_venta_fecha1 = 0 THEN
SET variacion_porcentual = 100; -- Si no hay ventas en fecha1, consideramos un cambio del 100%
ELSE
SET variacion_porcentual = ((total_venta_fecha2 - total_venta_fecha1) / total_venta_fecha1) * 100;
END IF;
-- Determinar el resultado basado en la variación porcentual
IF variacion_porcentual > 10 THEN
SET resultado = 'Verde';
ELSEIF variacion_porcentual >= -10 AND variacion_porcentual <= 10 THEN
SET resultado = 'Amarillo';
ELSE
SET resultado = 'Rojo';
END IF;
-- Devolver el resultado
SELECT resultado AS Estado_Ventas, total_venta_fecha1 AS Total_Venta_Fecha1, total_venta_fecha2 AS Total_Venta_Fecha2;
END
CALL comparacion_ventas('2015-01-01', '2015-01-15');
P/D: Estaria bueno que aclaren, cual de los archivos hay que ir bajando de las tablas, para los que en mi caso, vamos codeando el codigo, a medida que vemos los videos. Gracias!!!