Necesito ayuda para calcular el stock!!!
Publicado por Idoya (2 intervenciones) el 25/04/2001 10:57:52
Hola!! Tengo un problema: existen dos tablas, una de lineas de albarán de compra y otra de líneas de albarán de venta. Necesito sacar el stock de un artículo a una fecha, es decir, desde el 1-1-2001 por ejemplo, hasta hoy, 25-4-2001. Como consecuencia de eso tengo que recorrerme las dos tablas e ir mirando el campo 'articulo' de cada registro. Si el albarán es de compra, se suma y si es de venta, se resta. La sentencia que intento ejecutar es la siguiente:
Select art.cod, sum(len.can)-sum(lal.can) as stock from ART
inner join LEN on (len.art=art.cod)
inner join LAL on (lal.art=art.cod)
where (art.cod=180) and (len.fec between '01,01,2001' and '04,25,2001') and (lal.fec between '01,01,2001' and '04,25,2001'),
donde LEN es la tabla de líneas de albarán de compra, LAL son las de venta y ART la tabla de artículos.
Pero esto no funciona porque realiza las suma
de los de compra tantas veces como número de registros haya encontrado en las líneas de venta cuyo campo artículo sea igual a 180 (código de artículo). De la misma manera ocurre con las líneas de albarán de venta, es decir, se suman tantas veces como registros haya encontrado en los de compra.
No sé si me habré explicado bien pero necesito ayuda urgente. Muchísimas gracias por todo, saludos.
Select art.cod, sum(len.can)-sum(lal.can) as stock from ART
inner join LEN on (len.art=art.cod)
inner join LAL on (lal.art=art.cod)
where (art.cod=180) and (len.fec between '01,01,2001' and '04,25,2001') and (lal.fec between '01,01,2001' and '04,25,2001'),
donde LEN es la tabla de líneas de albarán de compra, LAL son las de venta y ART la tabla de artículos.
Pero esto no funciona porque realiza las suma
de los de compra tantas veces como número de registros haya encontrado en las líneas de venta cuyo campo artículo sea igual a 180 (código de artículo). De la misma manera ocurre con las líneas de albarán de venta, es decir, se suman tantas veces como registros haya encontrado en los de compra.
No sé si me habré explicado bien pero necesito ayuda urgente. Muchísimas gracias por todo, saludos.
Valora esta pregunta


0