Constulta traspaso

09/09/2004 - 11:26 por Juan | Informe spam
Hola , saludos a todos.

Quiero hacer una consulta para actualizar los datos de una tabla a otra ,
los campos son en la tabla A) Id_Codigo y Numero (esta tabla contiene los
datos que quiero pasar) y la tabla B)Tiene varios campos pero coinciden los
datos de la primera en el Id_Codigo lo que quiero cambiar son el campo
Numero.
Yo creia que con la siguiente Select funcionaria pero ha puesto el mismo
codigo en todos los campos Numero.

Update TablaB
Set Numero=(Select TablaA.Numero from tablaB , TablaA
where TablaA.IdCodigo=TablaB.IdCodigo)

Pero claro solo selecciona el registro uno de la tablaB

Bueno gracias desde ya por haber leido el email , un saludo
 

Leer las respuestas

#1 qwalgrande
09/09/2004 - 12:35 | Informe spam
Hola.

La sintaxis es más o menos así:

update B set B.Numero = A.Numero
from TablaB B inner join TablaA A on B.Id_Codigo = A.Id_Codigo

Incluye un control de transacciones (begin tran) y antes de realizar un
commit, compruebas que los datos estén como tú buscas. Si está todo bien,
realizas un commit, si tienes dudas, realizas un rollback y revisas hasta que
estés seguro.

qwalgrande

"Juan" wrote:

Hola , saludos a todos.

Quiero hacer una consulta para actualizar los datos de una tabla a otra ,
los campos son en la tabla A) Id_Codigo y Numero (esta tabla contiene los
datos que quiero pasar) y la tabla B)Tiene varios campos pero coinciden los
datos de la primera en el Id_Codigo lo que quiero cambiar son el campo
Numero.
Yo creia que con la siguiente Select funcionaria pero ha puesto el mismo
codigo en todos los campos Numero.

Update TablaB
Set Numero=(Select TablaA.Numero from tablaB , TablaA
where TablaA.IdCodigo=TablaB.IdCodigo)

Pero claro solo selecciona el registro uno de la tablaB

Bueno gracias desde ya por haber leido el email , un saludo



Preguntas similares