pulse
Goto Top

MySQL Anweisungen verbinden

Wie integriere ich eine SELECT-Abfrage in einer UPDATE-Anweisung

Hallöchen liebe Gemeinde,

als Anfänger brauch ich eure Hilfe...
und zwar soll ich eine Datenbank updaten (MySQL)

wo die Anweisungen ca. so aussieht:
UPDATE products 
SET pro_amount_menge='30',   
       pro_amount_einheit='ML',  
       pro_uvp='3.47',   
       pro_apopfl='2',   
       pro_rezeptpfl='1',   
       pro_tierarznei='1',   
       pro_tierarznei='1',  
WHERE pro_pzn=2417879;	

so...und nun kommt das problem (für mich)
es soll eine FK-Spalte geupdatet werden mit einer ID aus einer anderen Tabelle.
die muss ich ja selecten...also

SELECT FKppl_ppr_id FROM package_presentation_lang_string WHERE ppl_name="GEL";	  
so als beispiel

und zwar muss ich diesen Select-Befehl irgendwie mit meiner Anweisung oben verknüpfen
und ich habe keine ahnung wie...

danke schonmal im vorraus face-smile

Content-ID: 68647

Url: https://administrator.de/contentid/68647

Ausgedruckt am: 24.11.2024 um 18:11 Uhr

pi314
pi314 14.09.2007 um 18:18:37 Uhr
Goto Top
Hi,

du kannst die Select-Anweisung in deinen Update integrieren.

UPDATE products 
      SET pro_amount_menge = '30',  
             pro...
             foreignKeyID = (SELECT id FROM otherTable WHERE name = 'ützelbrützel' )  
 WHERE pro_pzn=2417879

Greetz,
pi
Biber
Biber 14.09.2007 um 21:02:32 Uhr
Goto Top
Moin Endzeit,

ich habe das SQL-Statement oben in Deinem Beitrag mal auf ein paar Zeilen verteilt.
Ich kenne mich ja mit formatierten Onelinern aus.

So kann man/frau auch besser sehen, dass Du (vor der WHERE-Klausel) ein Komma zuviel hast.

(auch nicht schlimm - es gibt genug andere PosterInnen hier, denen öfters mal eines fehlt.)


pi314 hat die Lösung schon gepostet - ich wollte nur noch schönes Wochenende wünschen.

Und bitte verwende auch Du nicht die Floskel "danke schonmal im vorraus".
Da gibt es immer kleine Kommentare von mir drauf...

Grüße
Biber
pulse
pulse 15.09.2007 um 12:57:15 Uhr
Goto Top
oki doki biber, thx für die hinweise ;)

@pi314: ja hatte auch überleg ob das gehen kann und überhaupt unterstützt wird von mysql...
hab das gestern auch mal ausprobiert auf arbeit am MS SQL Server.
dort hat es funktioniert...nur hatte ich mir wie gesagt gedanken darüber gemacht ob das auch mysql-konform ist.
aber da das ja anscheinend so ist...find ich das ausgezeichnet face-smile

wünsche euch ein schönes wochenende

der chris