una - MySQL-Actualizar valores basados en subconsultas
update en mysql workbench (3)
Prueba esto
Update table2
Set Name = (Select Name From table1 where table1.ID = table2.ID)
Where table2.ID In (Select ID From table1)
Digamos que tengo seleccionado, que me devuelve de tabla1:
ID Name
1 Bob
2 Alice
3 Joe
Entonces quiero valores de ACTUALIZACIÓN en otra tabla basada en este resultado:
UPDATE table2 SET Name = table1.Name WHERE ID = table1.ID
Como entendí, solo puedo hacer una selección interna en un lugar, como:
UPDATE table2 SET Name = (select Name from table1) WHERE ...
Y no sé cómo especificar la condición WHERE.
todo lo que debe hacer es unirse a las tablas como esta.
UPDATE table2 t2
JOIN table1 t1 ON t1.id = t2.id
SET t2.name = t1.name;
Si está listo para hacerlo con una selección, podría hacerlo así.
UPDATE table2 t2,
( SELECT Name, id
FROM table1
) t1
SET t2.name = t1.name
WHERE t1.id = t2.id