Hola a todos.
Tengo dos tablas "Ventas" y "Almacen"
la tabla Ventas, tiene los siguientes registros:
Codigo_Articulo Unidades_Vendidas
0001 5
0001 7
Por otro lado tengo la tabla "Almacen" que tiene el siguiente registro:
Codigo_Articulo Stock_Actual
0001 42
El objetivo es actualizar el stock de la tabla Almacen con las
Unidades_Vendidas de la tabla Ventas, para ello ponía esta sentencia
(SQL Server 2000)
UPDATE Almacen SET Stock_Actual = Stock_Actual -
Ventas.Unidades_Vendidas FROM Ventas WHERE
Almacen.Codigo_Articulo = Ventas.Codigo_Articulo
Esta sentencia funcionaba muy bien cuando la tabla ventas tiene
articulos distintos, pero cuando existen dos registros con el codigo de
articulo igual (como en el caso del ejemplo) solo me actualiza el stock
con las ventas del ULTIMO registro de la tabla Ventas, es decir, en el
caso del ejemplo, la tabla Almacen quedaria asi:
Codigo_Articulo Stock_Actual
0001 35
cuando deberia quedar asi:
Codigo_Articulo Stock_Actual
0001 30
¿Como podria solucionar esto?
Solo puede ser por sentencias SQL.
¿Alguna sugerencia?
De antemano muchas gracias a todos.
Saludos:
Guille :-)
Cádiz (España)
Leer las respuestas