Ich habe zwei Tabellen: und tableb
. Beide haben drei Spalten mit der Bezeichnung columna
, columnb
, columnc
.Wie aktualisiert man ein Feld einer Tabelle, die innerer Join einer anderen Tabelle in MySQL ist?
Jetzt möchte ich dies tun:
Wenn tablea.columnb
tableb.columnb
gleich, dann tablea.columnc
gesetzt = tableb.columnc
. Ich habe den SQL geschrieben und es funktioniert gut, aber ich denke, dass es einen besseren Weg geben muss, dies zu tun? Kann jemand mir helfen, meine SQL Aussage zu optimieren, oder gibt es andere Weise?
UPDATE tablea ta
SET
ta.columnc = (
SELECT columnc FROM tableb
WHERE ta.columnb = tableb.columnb
)
WHERE ta.columnb IN (
SELECT columnb FROM tableb
WHERE ta.columnb = tableb.columnb
)