Mailinglisten-Archive |
schon mal was von subselect gehört? UPDATE tab2 SET stufa1= (select tab1.stufa1 from tab1 WHERE tab1.id=tab2.id) where id in (select id from tab1); Wenn mehrere Spalten upgedatet werden sollen steht eine Klammer darum. Dann muß das erste select in doppelten Klammern stehen. Das zweite mit der in clause ist dafür, daß nur die ein update bekommen, für die es einen Wert in tab1 gibt. Sonst wird da NULL reingeschrieben. Beschleunigen kann man das übrigens, wenn tab1.id einen Index hat -----Original Message----- From: Peter Muessig-Trapp <muessig_(at)_his.de> To: mysql-de_(at)_lists.4t2.com <mysql-de_(at)_lists.4t2.com> Date: Wednesday, May 26, 1999 2:45 PM Subject: Werte einer Tabellenzelle zuweisen > > >Moin, moin, > >ich bin zu dem Schluss gekommen, dass es mit SQL-Mitteln >keine Loesung fuer folgendes Problem gibt: > >ich habe 2 Tabellen: > >tab1: id, var1, var2, ..., stufa1 >tab2: id, var3, var4, ..., stufa1 > >nun sollen der Wert in tab1.stufa1 nach tab2.stufa1 >geschrieben werden, wenn tab1.id = tab2.id ist. > >Sowas wie > >UPDATE > tab2 >SET > tab2.stufa1=tab1.stufa1 >WHERE > tab1.id=tab2.id > >funktioniert nicht; >Fehlermeldung: "Unknown table 'tab2' in field list" (?) >Die Tabelle existiert aber wohl! > >Gibts vielleicht doch irgendeine Loesung? > >Gruesse, Peter >
php::bar PHP Wiki - Listenarchive