[MySQL] Update-Statement mit Bedingungen

Dann sähe der Code folgendermaßen aus?

Code:
UPDATE
    b
    INNER JOIN a
        ON a.name_alt = b.name
    INNER JOIN a
       ON a.email_alt = b.email
SET
    b.name = a.name_neu,
    b.email = a.email_neu;

... ein multipler INNER JOIN wirds hier auch nicht richten, oder?
Kannst du denn bitte mal ein Beispiel geben, wie das ganze in einem Statement aussehen würde?


Gruß
 
Kommt jetzt drauf an.
Dein Code der sucht den Entrag name_alt und überträgt dann den neuen Namen. Zudem sucht er die email_alt, dies jedoch unabhängig vom Namen.
(Achja, beim zweiten INNER JOIN müsstest du ein Alias mitgeben)

Aber ich denke, du willst eher die para name/email zusammenbehalten
Dann verknüpft man die JOIN-Bedinung mit AND.
Über JOIN gibts übrigens im WWW viele Anleitungen

SQL:
-- Variant das name und email zusammengehören
UPDATE
    b
    INNER JOIN a
        ON a.name_alt = b.name
        AND a.email_alt = b.email
SET
    b.name = a.name_neu,
    b.email = a.email_neu;
--variante das name und email nicht zusammengehören
UPDATE
    b
    INNER JOIN a
        ON a.name_alt = b.name
    INNER JOIN a AS c
       ON c.email_alt = b.email
SET
    b.name = a.name_neu,
    b.email = c.email_neu;
 
Zuletzt bearbeitet von einem Moderator:
Zurück