Ich habe zwei Tabellen und möchte Felder in T1 für alle Zeilen in einem LEFT JOIN aktualisieren.
Aktualisieren Sie für ein einfaches Beispiel alle Zeilen der folgenden Ergebnismenge:
SELECT T1.* FROM T1 LEFT JOIN T2 ON T1.id = T2.id WHERE T2.id IS NULL
Das MySQL-Handbuch besagt Folgendes:
UPDATE-Anweisungen mit mehreren Tabellen können jeden in SELECT-Anweisungen zulässigen Join-Typ verwenden, z. B. LEFT JOIN.
Aber ich kann im dokumentierten UPDATE mit mehreren Tabellen nicht die richtige Syntax dafür finden.
Was ist die richtige Syntax?
quelle
Dasselbe kann auf ein Szenario angewendet werden, in dem die Daten normalisiert wurden. Jetzt möchten Sie jedoch, dass in einer Tabelle Werte in einer dritten Tabelle gefunden werden. Im Folgenden können Sie eine Tabelle mit Informationen aus einer dritten Tabelle aktualisieren, die einer zweiten Tabelle gefällt.
Dies ist nützlich, wenn Sie Benutzer und Gruppen hatten und ein Benutzer eine eigene Variation des Gruppennamens hinzufügen kann. Daher möchten Sie ursprünglich die vorhandenen Gruppennamen in das Feld importieren, in dem sich der Benutzer befindet in der Lage sein, es zu ändern.
quelle
Ich werde den Feldtext in Tabelle A mit aktualisieren
und kommen zu diesem Ergebnis:
wo nur ein Feld aus Tabelle B akzeptiert wird, aber ich werde zu diesem Ergebnis kommen:
quelle
quelle
quelle