Hola a todos, tengo este select y no se porque en la columna de r.cdaremito
la suma la hace por la cantidad de coincidencias que haya en v.ctrolvta, por
ejemplo en el primer item remito 3430 se vendio un solo articulo, pero en
control de ventas entre compras y ventas hay 7 movimiento, entonces sumo 1
siete veces, en el 5236 dos movimiento sumo dos veces, desde ya muchas
gracias.
SELECT v.codigoarticulo, a.descrip, a.marca, SUM(CASE WHEN
LEFT(v.movimiento, 1) IN ('0', '1') AND RIGHT(v.movimiento, 1)
= '5' THEN v.cantidad ELSE 0 END) AS Compra, SUM(CASE WHEN
LEFT(v.movimiento, 1) IN ('0', '1') AND RIGHT(v.movimiento, 1)
= '0' THEN v.cantidad ELSE 0 END) AS Venta, SUM(CASE WHEN
LEFT(v.movimiento, 1) = '9' AND RIGHT(v.movimiento, 1)
= '0' THEN v.cantidad ELSE 0 END) AS 'Stock Sistema anterior', a.stocktotal
AS 'Stock Actual'
,SUM(CASE WHEN a.codigo=r.codigoarticulo and a.Marca=r.Marca THEN
r.cdadremito ELSE 0 END) AS 'Remito pendiente',
substring(r.nroremito,2,8) as 'Numero Remito'
FROM ctrolvta v join art
on v.codigoarticulo <> 'XX' AND v.Anular = 'N' AND v.codigoarticulo =
a.codigo and v.marca = a.marca
join ctrolremito r
on r.codigoarticulo <> 'XX' AND r.Anular = 'N' AND r.codigoarticulo =
a.codigo and r.marca= a.marca
GROUP BY v.codigoarticulo, a.marca, a.descrip, a.stocktotal, a.codigo,
r.nroremito
ORDER BY v.codigoarticulo
GO
CodigoArticulo Descrip Marca Compra Venta 'Stock Sistema
anterior' Stock Actual Remito Pendiente Numero remito
028-109243 ROD. DTF 6.0000 1.0000
.0000 5.0000 7.0000 00003430
10 X 19.05 ROD. U.S.A. 100.0000 100.0000 .0000
.0000 200.0000 00005236
1030-25 G ROD. KOYO 4.0000 4.0000 .0000
.0000 8.0000 00004260
10702 ROD. SNR 39.0000 11.0000
.0000 28.0000 36.0000 00005739
11949/10 ROD ZKL 90.0000 127.0000
170.0000 133.0000 60.0000 00003472
11949/10 ROD ZKL 90.0000 127.0000
170.0000 133.0000 300.0000 00005203
1200 ROD. ZKL 12.0000 12.0000
.0000 .0000 24.0000 00004146
Atte, José Luis Agosta
S.J.L. Soft Computación