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

Facturación anual - Solución del desafio.

Este es mi solucion del desafio.

CREATE DEFINER=root@localhost PROCEDURE comparacion_ventas(IN fecha1 DATE, IN fecha2 DATE) BEGIN DECLARE total_venta1 DECIMAL(10,2); DECLARE total_venta2 DECIMAL(10,2); DECLARE variacion DECIMAL(10,2); DECLARE resultado VARCHAR(10); SELECT SUM(B.CANTIDAD * B.PRECIO) INTO total_venta1 FROM facturas A INNER JOIN items_facturas B ON A.NUMERO = B.NUMERO WHERE A.FECHA_VENTA = fecha1; SELECT SUM(B.CANTIDAD * B.PRECIO) INTO total_venta2 FROM facturas A INNER JOIN items_facturas B ON A.NUMERO = B.NUMERO WHERE A.FECHA_VENTA = fecha2; IF total_venta1 IS NOT NULL AND total_venta2 IS NOT NULL AND total_venta2 != 0 THEN SET variacion = ((total_venta1 - total_venta2) / total_venta2) * 100; ELSE SET variacion = NULL; -- Asigna NULL si alguna de las ventas es NULL o total_venta2 es 0 END IF; IF variacion IS NOT NULL THEN IF variacion > 10 THEN SET resultado = 'Verde'; ELSEIF variacion BETWEEN -10 AND 10 THEN SET resultado = 'Amarillo'; ELSEIF variacion < -10 THEN SET resultado = 'Rojo'; END IF; ELSE SET resultado = 'Sin datos'; -- Mensaje en caso de falta de datos para el cálculo END IF; SELECT resultado AS Evaluacion_Ventas; END


CALL comparacion_ventas('2015-03-01', '2017-04-01');

![Resultado de la consulta] (https://cdn1.gnarususercontent.com.br/6/596707/c01acff8-c0b5-4586-b01b-ab02d9d5c7a3.png)

1 respuesta

Hola, Jose! Cómo va? :))

Gracias por tu aporte en el foro. Su contribución es esencial para el crecimiento de nuestra comunidad en Alura.

Sigue así y no dudes en volver al foro si tienes alguna pregunta o dificultad.

Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓.