ACTUALIZAR SQL ÚNETE podría usarse para actualizar una tabla usando otra tabla y condición de unión.
Sintaxis –
UPDATE tablename INNER JOIN tablename ON tablename.columnname = tablename.columnname SET tablenmae.columnnmae = tablenmae.columnname;>
Utilice varias tablas en SQL UPDATE con la declaración JOIN.
Supongamos que tenemos dos tablas: Geeks1 y Geeks2. Para comprobar el contenido de la tabla –
SELECT * FROM Geeks1;>
Mesa - Frikis1
col1 | col2 | col3 |
---|---|---|
1 | 11 | PRIMERO |
11 | 12 | SEGUNDO |
21 | 13 | TERCERO |
31 | 14 | CUATRO |
SELECT * FROM Geeks2;>
Mesa - Frikis2
col1 | col2 | col3 |
---|---|---|
1 | 21 | DOS UNO |
11 | 22 | DOS DOS |
21 | 23 | DOS TRES |
31 | 24 | DOS CUATRO |
Ejemplo -
Tenemos la tabla Geeks2 que tiene dos filas donde Col 1 es 21 y 31 y queremos actualizar el valor de la tabla Geeks2 a la tabla Geeks1 para las filas donde Col 1 es 21 y 31. Además, queremos actualizar los valores de Col 2 y Col 3 únicamente.
UPDATE Geeks1 SET col2 = Geeks2.col2, col3 = Geeks2.col3 FROM Geeks1 INNER JOIN Geeks2 ON Geeks1.col1 = Geeks2.col1 WHERE Geeks1.col1 IN (21, 31);>
Producción -
(2 row(s) affected)>
SELECT * FROM Geeks1;>
Mesa - Frikis1
col1 | col2 | col3 |
---|---|---|
1 | 11 | PRIMERO |
11 | 12 | SEGUNDO |
21 | 23 | DOS TRES |
31 | 24 | DOS CUATRO |
SELECT * FROM Geeks2;>
Mesa - Frikis2
col1 | col2 | col3 |
---|---|---|
1 | 21 | DOS UNO |
11 | 22 | DOS DOS |
21 | 23 | DOS TRES |
31 | 24 | DOS CUATRO |