Hab eine Haupttabelle mit den beiden relevanten Feldern Artikelnummer und Bestand.
Hab eine weitere Tabelle mit der identischen Struktur, aber mit aktualisierten Werten im Feld Bestand.
Jetzt möchte ich sinnvollerweise die aktuellen Werte übetragen, aber auch nur die.
Hab das über das folgende Statement versucht:
update hautptabelle set bestand = (select b.bestand from import_tabelle as b where b.artikelnummer = haupttabelle.artikelnummer);
Leider gibts ne Fehlermeldung:
MySQL said: You have an error in your SQL syntax near ‚select b.bestand from import_tabelle as b where b.artikelnummer = haupttabelle.‘
at line 2
Vermute, er kennt das Feld Artikelnummer in dem Moment nicht.
Wie kann ich das Problem lösen???
Insert oder auch Inser into erzeugt ja neue Sätze in der Tabelle.
Ich möchte aber die vorhandenen Sätze aktualisieren, muss also doch über Update-Funktion gehen.
Mein neues Statement (funktioniert auch nicht):
update haupttabelle
set bestand =
(select b.bestand from import_tabelle as b, haupttabelle where haupttabelle.artikelnummer = b.artikelnummer)
Denke, der Fehler liegt daran, dass das Select die Tabelle, bzw. das Feld Artikelnummer der Tabelle Haupttabelle nicht kennt.
Wenn das das Problem ist, wie baue ich das Select korrekt um?
Wichtig ist, dass wirklich nur das Feld bestand aktualiesiert wird.