columna de actualización de MySQL con valor de otra tabla
Tengo dos mesas, ambas parecen
id name value
===================
1 Joe 22
2 Derk 30
Necesito copiar el valor de value
desde tableA
a tableB
según el nombre del cheque en cada tabla.
¿ Algún consejo para esta UPDATE
afirmación?
Aceptado
Además de esta respuesta, si necesita cambiar tableB.value según tableA.value dinámicamente, puede hacerlo, por ejemplo:
UPDATE tableB
INNER JOIN tableA ON tableB.name = tableA.name
SET tableB.value = IF(tableA.value > 0, tableA.value, tableB.value)
WHERE tableA.name = 'Joe'
necesitas unir las dos mesas:
por ejemplo, desea copiar el valor de name
la tabla A tableB
donde tienen el mismoID
UPDATE tableB t1
INNER JOIN tableA t2
ON t1.id = t2.id
SET t1.name = t2.name
WHERE t2.name = 'Joe'
ACTUALIZACIÓN 1
UPDATE tableB t1
INNER JOIN tableA t2
ON t1.id = t2.id
SET t1.name = t2.name
ACTUALIZACIÓN 2
UPDATE tableB t1
INNER JOIN tableA t2
ON t1.name = t2.name
SET t1.value = t2.value
La segunda posibilidad es,
UPDATE TableB
SET TableB.value = (
SELECT TableA.value
FROM TableA
WHERE TableA.name = TableB.name
);