SQL Server - ACTUALIZANDO ORDEN

 
Vista:

ACTUALIZANDO ORDEN

Publicado por Rodolfo Reyes (4 intervenciones) el 09/10/2008 03:12:05
Hola

Tengo el siguiente problema

Actualizo la tabla de inventario a partir de la tabla de ordenes en un Store Procedure de SQL. El problema es que si la orden contiene el mismo codigo del articulo mas de una vez, solo se actualiza la cantidad en la promera vez que aparece el articulo.

Ejemplo

mi orden tiene:

Codigo Descripcion Cantidad
1010 xxxxxxxxxxxxxxxx 5
1012 sssssssssss 4
1010 xxxxxxxxxxxxxxxxx 3

Siguiendo el ejemplo, cuando la sentencia SQL recorre la tabla de orden para actualizar la existencia de los articulos, solo toma en cuenta para el articulo 1010 la cantidad de 5 que es el valor de la primera vez, pero no actualiza la existencia del codigo 1010 con la cantidad 3

he probado varias formas y no lo he logrado

Alguien me podria decir si existe alguna forma de que esto trabaje

Gracias anticipadas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ACTUALIZANDO ORDEN

Publicado por Isaias (3308 intervenciones) el 09/10/2008 18:07:35
¿Como estas haciendo dicha actualizacion, nos muestras el codigo UPDATE?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ACTUALIZANDO ORDEN

Publicado por Rodolfo Reyes (4 intervenciones) el 10/10/2008 00:17:06
OK. El CODIGO SQL QUE HAGO ES EL SIGUIENTE:

UPDATE ARTICULOS SET Existencia=Existencia-B.Cantidad
FROM ORDENES B WHERE B.orden=@orden and ARTICULOS.Codigo_Articulo=B.Codigo_Articulo

Como Explique anteriormente si tengo el mismo codigo de articulo varias veces en la misma orden, solo se actualiza la existencia con la cantidad de la primera vez que aparece el codigo en la orden.

Gracias por tu interes de ayudarme.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ACTUALIZANDO ORDEN

Publicado por jose camilo (21 intervenciones) el 10/10/2008 01:40:53
deberias dar un sum a la orden por articulo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ACTUALIZANDO ORDEN

Publicado por Rodolfo Reyes (4 intervenciones) el 10/10/2008 16:01:55
Cuando intento agregar un SUM a la sentencia sql que hace el Update a la tabla de articulos me da un error que dice "An aggregate may not appear in the set list of an update statement "
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ACTUALIZANDO ORDEN

Publicado por Isaias (3308 intervenciones) el 10/10/2008 19:54:20
Nunca funcionaria tu query, hay inconsistencias de codigo.

UPDATE ARTICULOS SET Existencia=Existencia-Total
FROM ARTICULOS JOIN (SELECT orden, sum(Cantidad) as Total from ORDENES group by orden) AS X
ON ARTICULOS.orden = X.orden
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ACTUALIZANDO ORDEN

Publicado por Isaias (3308 intervenciones) el 10/10/2008 19:55:19
Agregar la "X" en Total

UPDATE ARTICULOS SET Existencia=Existencia-X.Total
FROM ARTICULOS JOIN (SELECT orden, sum(Cantidad) as Total from ORDENES group by orden) AS X
ON ARTICULOS.orden = X.orden
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ACTUALIZANDO ORDEN

Publicado por Rodolfo Reyes (4 intervenciones) el 10/10/2008 21:43:47
Excelente, funcionó correctamente el problema estaba en como formulaba la sentencia SQL

Estoy muy agradecido por tu valiosa ayuda, pues tenia varios meses sin encontrar solucion a este problema.

Gracias
Rodolfo Reyes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ACTUALIZANDO ORDEN

Publicado por Isaias (3308 intervenciones) el 13/10/2008 19:08:17
Rodolfo

De nada, solo una observacion, cuando tengas problemas, dedicale 5 minutos, no mas, si no logras resolverlo por tu cuenta, por aqui te estaremos apoyando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar