Mailinglisten-Archive |
Tobias Daur schrieb: > Na, dann antworte ich mir mal selber - für Euch, fürs Archiv und die > Nachwelt: > > Das Problem besteht darin, ein Update mit Werten zu machen, die durch > einen Select erst ermittelt werden müssen. > > Bis MySQL 4.0 geht das nur über mehrere Queries und mit Hilfe temporärer > Tabellen. > > Ab MySQL 4.1 gibt es Subselects, und genau ein solcher hilft hier: du hattest leider nicht geschrieben welche MySQL Version du einsetzt ... und traurige Wahrheit ist nunmal das immer noch viele auf 4.0 oder 3 arbeiten 'müssen' ... und so ins blaue hinein antworten wollen die meisten wohl nicht ... also auch fürs Archiv: Bitte immer die verwendete MySQL-Version mit angeben! > UPDATE artikel LEFT JOIN (SELECT DISTINCT ... as empfohlen, > idartikel ...) as t on t.idartikel = artikel.idartikel > SET artikel.empfohlen = t.empfohlen > > Für die UPDATE-Query gibt es also eine Tabelle t auf die gejoint wird > und deren Wert übernommen wird. In der Subquery wird über den SELECT > diese Tabelle als Ergebnis einer Abfrage aufgebaut. -- Sebastian -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive