phpbar.de logo

Mailinglisten-Archive

update mit ermittelten werten in einer query

update mit ermittelten werten in einer query

Sebastian Mendel lists at sebastianmendel.de
Mit Mai 31 08:36:57 CEST 2006


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