Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

EJ 3.4.5 Comparacion de Facturacion

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

DELIMITER $$
USE `jugos_ventas`$$
CREATE PROCEDURE `comparacion_ventas` (fec_ref date, fec_cmp date)
BEGIN
DECLARE vmensaje varchar(30);
DECLARE vresultado float;
DECLARE vresultado1 float;
DECLARE vresultado2 float;

SELECT SUM(B.CANTIDAD * B.PRECIO) AS TOTAL_VENTA INTO vresultado1 FROM 
facturas A INNER JOIN items_facturas B
ON A.NUMERO = B.NUMERO
WHERE A.FECHA_VENTA = fec_ref;

SELECT SUM(B.CANTIDAD * B.PRECIO) AS TOTAL_VENTA INTO vresultado2 FROM 
facturas A INNER JOIN items_facturas B
ON A.NUMERO = B.NUMERO
WHERE A.FECHA_VENTA = fec_cmp;

set vresultado = vresultado2 / vresultado1;
if vresultado > 1.10 
    then set vmensaje = 'Verde';
elseif (vresultado <= 1.10 || vresultado > 0.90)
    then set vmensaje = 'Amarillo';
else set vmensaje ='Rojo';
end if;
select vmensaje;
END$$

DELIMITER ;
1 respuesta
solución!
USE `jugos_ventas`;
DROP procedure IF EXISTS `comparacion_ventas`;

DELIMITER $$
USE `jugos_ventas`$$
CREATE PROCEDURE `comparacion_ventas` (fec_ref date, fec_cmp date)
BEGIN
DECLARE vmensaje varchar(30);
DECLARE vresultado float;
DECLARE vresultado1 float;
DECLARE vresultado2 float;

SELECT SUM(B.CANTIDAD * B.PRECIO) AS TOTAL_VENTA INTO vresultado1 FROM 
facturas A INNER JOIN items_facturas B
ON A.NUMERO = B.NUMERO
WHERE A.FECHA_VENTA = fec_ref;

SELECT SUM(B.CANTIDAD * B.PRECIO) AS TOTAL_VENTA INTO vresultado2 FROM 
facturas A INNER JOIN items_facturas B
ON A.NUMERO = B.NUMERO
WHERE A.FECHA_VENTA = fec_cmp;

set vresultado = vresultado2 / vresultado1;
if vresultado > 1.10 
    then set vmensaje = 'Verde';
elseif (vresultado <= 1.10 || vresultado > 0.90)
    then set vmensaje = 'Amarillo';
else set vmensaje ='Rojo';
end if;
select vmensaje;
END$$

DELIMITER ;