BEGIN
#Routine body goes here...
DECLARE llDone BOOLEAN DEFAULT FALSE;
DECLARE lnImporte, lnCosto, lnDescuento, lnUtilidad DECIMAL(10,3) DEFAULT 0;
DECLARE dbResumen CURSOR FOR
SELECT SUM(c.Importe) Importe, SUM(c.Costo * c.Cantidad) Costo,
SUM(c.Descuento) Descuento, SUM((c.Importe - (c.Costo * c.Cantidad)) - c.Descuento) Utilidad
FROM ventas a
LEFT JOIN kardex b ON a.KardexID = b.KardexID
LEFT JOIN kardex_lineas c ON a.KardexID = c.KardexID
WHERE c.Fecha = tdFecha;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET llDone = TRUE;
DROP TEMPORARY TABLE IF EXISTS dbBase;
CREATE TEMPORARY TABLE dbBase (Leyenda Char(20), Valor Decimal(10,3));
INSERT dbBase SET Leyenda = 'IMPORTE';
INSERT dbBase SET Leyenda = 'COSTO';
INSERT dbBase SET Leyenda = 'DESCUENTO';
INSERT dbBase SET Leyenda = 'UTILIDAD';
OPEN dbResumen;
FETCH NEXT FROM dbResumen INTO lnImporte, lnCosto, lnDescuento, lnUtilidad;
CLOSE dbResumen;
IF NOT llDone THEN
UPDATE dbBase SET Valor = lnImporte WHERE Leyenda = 'IMPORTE';
UPDATE dbBase SET Valor = lnCosto WHERE Leyenda = 'COSTO';
UPDATE dbBase SET Valor = lnDescuento WHERE Leyenda = 'DESCUENTO';
UPDATE dbBase SET Valor = lnUtilidad WHERE Leyenda = 'UTILIDAD';
END IF;
SELECT * FROM dbBase;
END