17 jun 2010

Update con valores de otra tabla

Algunas cosillas se nos va cómo es que hay que hacerlas, a veces son un tanto lógicas y nos parece que son sencillas pero por una u otra no le llegamos.

Eso me pasó recientemente cuando necesitaba actualizar la tabla1 con valores de la tabla2 (en realidad debía pasar los datos de una a otra y borrar la tabla2).

Para ser este tipo de Update una sintaxis que funciona en SQL server 2005 es la siguiente
UPDATE T1
SET T1.campo1 = T2.campo1,
T1.cammpo2 = T2.campo2
FROM Tabla1 T1 INNER JOIN Tabla2 T2
ON T2.campoLlave = T1.campoLlave

En la tabla 2 lo lógico es que debe haber un solo registro devuelto por la sentencia Join con respecto a la Tabla1.

Roy {aka. Foy}

Autor & Editor

Desarrallador y líder técnico, con experiencia en tecnologías Microsoft desde los tiempos del VB6 y el asp clásico hasta el .Net Core, pasando por COM+, javascript, angularjs, Ionic, xaml, cordova, MVC, Web Api, Sql Server, Oracle... . Ávido lector, apasionado programador.