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

Realiza el desafío anterior utilizando CASE condicional.

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 utilizando un condicional CASE
  SET resultado = CASE
    WHEN variacion_porcentual > 10 THEN 'Verde'
    WHEN variacion_porcentual >= -10 AND variacion_porcentual <= 10 THEN 'Amarillo'
    ELSE 'Rojo'
  END;
  
  -- Mostrar el resultado
  SELECT resultado;
END$$

DELIMITER ;
CALL comparacion_ventas('2023-01-01', '2023-02-01');
1 respuesta

Hola Ciro, espero que esté bien.

Gracias por tu aporte, es bueno ver los diferentes puntos de vistas, eso enriquece nuestros conocimientos.

Si tienes alguna pregunta sobre el contenido de los cursos, estaremos aquí para ayudarte.

Por favor, utilice etiquetas para indicarnos si su consulta es una duda, sugerencia o algún otro tema. De esta manera, podremos filtrar y procesar las consultas de manera más eficiente, mejorando nuestro desempeño en la respuesta a las mismas

también te recomiendo que puedes interactuar con el resto de nuestros compañero por nuestro Discord.

En virtud de que en Discord el alcance es mayor, la interacción es inmediata y llega a más compañeros y el foro solo quedaría para esclarecer cualquier duda que puedas tener sobre el contenido de los cursos

De esa manera si tienes algún comentario, opinión, recomendación o algún consejo sea por el Discord, con certeza por ahí llegará a más personas

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