SQL - ACTUALIZAR DATOS DE UNA TABLA A OTRA

 
Vista:

ACTUALIZAR DATOS DE UNA TABLA A OTRA

Publicado por Nico Monzon (12 intervenciones) el 07/08/2017 18:15:43
hola a todo@s, esto intentando actualizar los datos de una tabla a otra
Estas dos tablas son:

pedidos y traspaso

la tabla pedido tiene como campo cable un numero de pedido2 y la tabla de traspaso tiene como campo clave un numero de traspaso, para unir estas dos tablas he cogido como campos Tras_Art = codigo del articulo y Ped2_Articulo = codigo del articulo, esta es la consulta que he realizado pero me no me actualiza un articulo en concreto me actualiza todos los articulos, el resultado es 158.150 filas actualizadas.
si alguien me dice como hacer esto se lo agradeceria

Update Traspaso
Set Tras_Unid = ((Select Ped2_Uni_Ped From Pedido2 Join Traspaso On Tras_Art = Ped2_Articulo
Where Ped2_Num = 713002126 And Tras_Art Like '%7015866903341' And Tras_Alm_Ent = 34 And Tras_Parte= 413006176)+(Tras_Unid));

GRACIAS
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

ACTUALIZAR DATOS DE UNA TABLA A OTRA

Publicado por Isaias (1921 intervenciones) el 07/08/2017 23:07:13
¿En que motor de base de datos?

Si ejecutas esto, ¿que te da?

Select Ped2_Uni_Ped From Pedido2 Join Traspaso On Tras_Art = Ped2_Articulo
Where Ped2_Num = 713002126 And Tras_Art Like '%7015866903341' And Tras_Alm_Ent = 34 And Tras_Parte= 413006176)+(Tras_Unid)
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

ACTUALIZAR DATOS DE UNA TABLA A OTRA

Publicado por Nico Monzon (12 intervenciones) el 07/08/2017 23:36:18
Hola isaias, trabajo con sql server, si ejecuto solo esto

1
2
Select Ped2_Uni_Ped From Pedido2 Join Traspaso On Tras_Art = Ped2_Articulo
Where Ped2_Num = 713002126 And Tras_Art Like '%7015866903341' And Tras_Alm_Ent = 34 And Tras_Parte= 413006176)

el resultado es 1

si añado todo

1
2
Select Ped2_Uni_Ped From Pedido2 Join Traspaso On Tras_Art = Ped2_Articulo
Where Ped2_Num = 713002126 And Tras_Art Like '%7015866903341' And Tras_Alm_Ent = 34 And Tras_Parte= 413006176)+(Tras_Unid)

me da un error de comando SQL no terminado correctamente

la idea es que coja el stock de la tabla pedido u la actualice en la tabla de traspaso, y que a su vez ese stock se le sume a las unidades que ya existan en el la tabla de traspaso, es decir y de un articulo en la tabla de pedidos tengo 50 unidades y en la tabla de traspaso de este mismo articulo tengo otros 50, una vez que realice el update, el total de unidades en la tabla de traspaso debe de ser 100 unidades, no entiendo porque me da este error, aparentemente parece todo correcto

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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

ACTUALIZAR DATOS DE UNA TABLA A OTRA

Publicado por Isaias (1921 intervenciones) el 08/08/2017 16:39:22
¿Cual error?, Puedes publicarlo

Ahora, si solo te da un SOLO REGISTRO, es por los filtros que estas ocupando (where).

Si vas a actulaizar TODOS los registros de la tabla "Traspaso", deberias tener algo como esto:

1
2
3
4
5
UPDATE Traspaso
SET Tras_Unid = Tras_Unid + t.Tras_Unid
FROM
Pedido2 join Traspaso t
ON Tras_Art = Ped2_Articulo

Solo tu sabes porque le estas colocando el filtro WHERE.
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