Blog de David Rodriguez

Update con select – Actualizar campos de una tabla con los valores de otra

Hay veces que perdemos tiempo en hacer unos script para cosas que se pueden hacer con una simple sentencia de base de datos. Imaginemos el caso:

Tabla1 con las columnas id,campo1,campo2

Tabla2 con las columnas id,id1,id2

y queremos actualizar todos los campos id1 con el valor de campo1 y todos los campos id2 con el valor de campo2. La tabla tiene la relación por el campo id.

Ejemplo:

Tabla1

1 valor1 valor2

2 valor5 valor6

Tabla2

1 registro1 registro2

1 registro3 registro4

2 registro5 registro6

Con la siguiente consulta:

update Tabla1 t1,Tabla2 t2

set t2.id1=t1.campo1,t2.id2=t1.campo2

where t1.id=t2.id

Con este update, actualizariamos los registros para cada identificador. Es decir, el resultado sería:

Tabla1

1 valor1 valor2

2 valor5 valor6

Tabla2

1     valor1 valor2

1     valor1 valor2

2     valor5 valor6

Espero os sea de ayuda.

Salir de la versión móvil