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 = '';
13. Februar 2009 um 15:10 Uhr
Vielen Dank für deinen Ansatzt und er hat mir sehr geholfen über 1000 Datensätze mit einem Statement upzudaten
7. Juli 2009 um 14:48 Uhr
Danke für deine kurze und hilfreiche Beschreibung. Hat mir weitergeholfen!
7. Juli 2009 um 18:04 Uhr
Gern geschehen!
20. Januar 2011 um 11:39 Uhr
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.