1
respuesta

desafio Construye un Stored Procedure llamado comparacion_ventas

USE `jugos_ventas`;
DROP PROCEDURE IF EXISTS `comparacion_ventas`;

DELIMITER $$
CREATE 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(20);
  
  -- Obtener la facturación total de la fecha1
  SELECT SUM(B.CANTIDAD * B.PRECIO) INTO total_venta_fecha1
  FROM facturas A
  INNER JOIN items_facturas B ON A.NUMERO = B.NUMERO
  WHERE A.FECHA_VENTA = fecha1;
  
  -- Obtener la facturación total de la fecha2
  SELECT SUM(B.CANTIDAD * B.PRECIO) 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
  SET variacion_porcentual = ((total_venta_fecha2 - total_venta_fecha1) / total_venta_fecha1) * 100;
  
  -- Comparar la variación porcentual y establecer el resultado
  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;
  
  -- Mostrar el resultado
  SELECT resultado;
END$$

DELIMITER ;
CALL comparacion_ventas('2017-03-01', '2017-03-15');
1 respuesta

¡Hola Ciro!

El código que has compartido se ve bastante bien. Has declarado las variables necesarias y has realizado las consultas para obtener la facturación total de dos fechas diferentes. Luego, calculas la variación porcentual y estableces el resultado según el rango en el que se encuentre.

Para probar tu Stored Procedure, simplemente debes llamarlo pasando las fechas deseadas como parámetros. Por ejemplo, puedes ejecutar la siguiente consulta:

CALL comparacion_ventas('2017-03-01', '2017-03-15');

Esto ejecutará el Stored Procedure comparacion_ventas y mostrará el resultado de la comparación de ventas entre las fechas '2017-03-01' y '2017-03-15'.

Recuerda que puedes ajustar las fechas según tus necesidades.

Espero que esta información te sea útil para resolver tu desafío. Si tienes alguna otra pregunta, no dudes en preguntar.

¡Buena suerte y sigue aprendiendo!

Espero haber ayudado y buenos estudios!

Un saludo.

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