Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/11/2007, 14:50
jfrank
 
Fecha de Ingreso: noviembre-2007
Mensajes: 7
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Es necesario usar un cursor en este caso

Gracias Andres , funciona de maravilla
ahora le hey agregado una sentencia mas para q solo
sume cantidad * equivalente cuando el Codigo de Almacen es A_001

Update Productos
set StockActual_Alm1 = StockInicial_Alm1 + R.Result
From Productos P
Inner join
(Select Productos.CodProducto
,(sum (isnull (CD.Cantidad ,0) * isnull (CD.Equivalente,0))) -
(sum (isnull (VD.Cantidad ,0) * isnull (CD.Equivalente,0))) AS Result
From Productos
left join
VentasDetalle VD
on Productos.CodProducto = VD.CodProducto
left join
ComprasDetalle CD
on Productos.CodProducto = CD.CodProducto ,
Ventas V , Compras C

where V.CodVenta = VD.CodVenta and V.Cod_Almacen = 'A_001'
AND
C.CodCompra = CD.CodCompra and C.Cod_Almacen = 'A_001'
Group by
Productos.CodProducto) R
On P.CodProducto = R.CodProducto

Pero solo esta afectando a 5 registros (q son los q estan en el detalle de ventas y compras )y no todos ,
donde debe estar la condicion where V.CodVenta = VD.CodVenta and V.Cod_Almacen = 'A_0001' and C.Codcompra ......
para q siga actualizando a todos los articulos

Última edición por jfrank; 05/11/2007 a las 15:27