Zum Inhalt springen

mysql JOIN und SET Problem


Ja_Söhne

Empfohlene Beiträge

Hallo,

irgendwie bekomme ich das nicht gebacken, folgende Ausgangssituation:

Ich habe 2 Tabellen produkte und optionen.

In der Tabelle produkte habe ich den Primärschlüssel "id" und die Produktnummer "nummer" etc.

In der Tabelle optionen gibt es ebenfalls die obengenannte "id", den "optionsname" (blau, grün, rot, nein, viel, groß etc.) und die "optionsnummer". Zu jeder "id" gibt es 3 oder mehr/weniger optionsnamen je nach produkt, also z.B.

id | optionsname | optionsnummer

3 | blau | 55555

3 | grün | 66666

3 | rot | 77777

Nun möchte ich, daß die optionsnummer mit der nummer überschrieben wird für den Fall blau, grün, rot.

Was mache ich bei folgenden Code falsch?

UPDATE optionen SET optionsnummer = nummer 

FROM 

(SELECT p.id, p.nummer, o.id, o.optionsnummer, o.optionsname 

FROM produkte AS p OUTER JOIN optionen AS o ON p.id = o.id) 

WHERE optionsname = 'blau' OR optionsname = 'grün' OR optionsname = 'rot'

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

er zeigt mir unter phpmyadmin folgende Fehlermeldung an:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM (SELECT p.id, p.nummer, o.id, o.optionsnummer, o.optionsname, at line 1).

Klammer falsch ?

Danke Ja-Sons

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke Phil,

ich hatte gedacht, daß ich mich auf die 3. UPDATE-Syntax dieser Seite: UPDATE zum Aktualisieren existierender Zeilen

beziehen kann, aber die MySQL Syntax war dann doch etwas anders und zwar wie folgt:


UPDATE optionen 

INNER JOIN produkte ON optionen.id = produkte.id

SET optionen.optionsnummer = produkte.nummer

WHERE optionsname = "rot"

Problem gelöst...

Gruß Jan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...