Hola gente, les vengo a plantear mi problema que estoy teniendo con un Store Procedure.
Yo estoy creando un SP que me devuelva las Ventas y los productos de esa venta
Tengo 2 tablas relacionadas para esto (ventas y productos_venta)
Las ventas pueden ser varias ya que iran desde una fecha hacia otra.
La idea es generar a partir de este SP un reporte de ventas en un rango de fechas desde un sistema que estoy desarrollando en .Net con Crystal Report.
Este es el SP en cuestion:
BEGIN
CREATE PROCEDURE `ReportVentas`(IN `fecha1` DATE, IN `fecha2` DATE)
DECLARE vb_termina BOOL DEFAULT FALSE;
DECLARE VV_idVenta float ;
-- Lleno un cursoR con los idVenta que deseo mostrar para luego recorrerlo
DECLARE CrVentas CURSOR
FOR SELECT idVenta from ventas where fecha
BETWEEN fecha1
AND fecha2;
DECLARE CONTINUE HANDLER
FOR SQLSTATE '02000'
SET vb_termina = TRUE;
-- Recorro el cursor
OPEN CrVentas;
Recorre_Cursor: LOOP
FETCH CrVentas INTO VV_idVenta;
IF vb_termina THEN
LEAVE Recorre_Cursor;
END IF;
-- En esta consulta traeria la venta
select * from ventas where idVenta = VV_idVenta;
-- En esta los productos de esa venta
select * from productos_venta where idVenta = VV_idVenta;
END LOOP;
CLOSE CrVentas;
END;
El problema es que las consultas no tiran el resultado deseado, no se como explicarlo. datos mal organizados en campos donde no deberian ir. No se si esta bien meter 2 select en LOOP.
Llamado:
call ReportVentas('2014-09-28', '2014-10-15')
Alguien que me de una mano o si sabe de otra forma de lograr esto lo agradeceria.