Update mit JOIN – Syntaxstolperei

Heute kurz festgehalten worüber SQL Neulinge auch des öfteren mal stolpern:

Ich will in einer Tabelle Felder mit Werten aus einer anderen Tabelle füllen wenn die ID aus der Quelltabelle identisch ist mit der Ziel Tabelle.

Dann wird erst einmal losgewerkelt und sich gewundet warum ein

UPDATE ziel SET ziel.wert = quell.wert FROM quelle WHERE ziel.id = quell.id;

nicht funktioniert.
Ein UPDATE kennt halt kein FROM und so wird das dann auch was:

UPDATE ziel,quelle SET ziel.wert = quell.wert WHERE ziel.id = quell.id;

Selbstverständlich geht das auch mit allen LEFT/RIGHT und was auch immer für JOINs

Kommentare