powerbook_blog

klein, praktisch, unverdaulich seit 2004

MySQL: Update mit Subselect und Keys zwischen den Tabellen

| 4 Kommentare

Ich bin ja kein SQL-Guru. Also freue ich mich immer noch, wenn ich Möglichkeiten entdecke, von denen ich bislang ausgegangen bin, dass sie nicht funktionieren. Man kann in einem MySQL-UPDATE Statement ja durchaus mit Subselects arbeiten. Bislang hatte ich es aber nie hinbekommen, einen Schlüssel des Grundstatements im Subselect-Statement zu nutzen. Es funktioniert aber und zwar so ( wahrscheinlich auch anders, aber ich will es mir so merken und die Spezialisten dürfen sich dann auch gerne in den Kommentaren austoben):

UPDATE table1 t1
SET t1.val1 =
(SELECT val FROM table2 t2 WHERE t2.id = t1.t2_id )
WHERE t1.val1 = '';

4 Kommentare

  1. Vielen Dank für deinen Ansatzt und er hat mir sehr geholfen über 1000 Datensätze mit einem Statement upzudaten :-D

  2. Danke für deine kurze und hilfreiche Beschreibung. Hat mir weitergeholfen! :-)

  3. Achtung: mit deinem Statement werden in table1 auch Datensätze geupdatet, die in table2 nicht vorhanden sind. table1.val1 wird hier also mit null gefüllt.

Hinterlasse eine Antwort

Pflichtfelder sind mit * markiert.

*