Received: from localhost.localdomain (postgresql.org [64.49.215.8]) by localhost (Postfix) with ESMTP id 7CC72475928 for ; Mon, 3 Jun 2002 09:08:27 -0400 (EDT) Received: from email03.aon.at (WARSL402PIP6.highway.telekom.at [195.3.96.93]) by postgresql.org (Postfix) with SMTP id 1CBDE47591E for ; Mon, 3 Jun 2002 09:08:26 -0400 (EDT) Received: (qmail 235576 invoked from network); 3 Jun 2002 13:08:27 -0000 Received: from m156p006.dipool.highway.telekom.at (HELO cantor) ([62.46.9.102]) (envelope-sender ) by qmail3rs.highway.telekom.at (qmail-ldap-1.03) with SMTP for ; 3 Jun 2002 13:08:27 -0000 From: Manfred Koizar To: Andre Schubert Cc: pgsql-sql@postgresql.org Subject: Re: How to update Date: Mon, 03 Jun 2002 15:08:46 +0200 Message-ID: References: <20020603100028.38dd8a7e.andre.schubert@km3.de> In-Reply-To: <20020603100028.38dd8a7e.andre.schubert@km3.de> X-Mailer: Forte Agent 1.8/32.548 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Archive-Number: 200206/13 X-Sequence-Number: 7978 On Mon, 3 Jun 2002 10:00:28 +0200, Andre Schubert wrote: >I tried this, but it update always one row in foo. > >update foo set inet=sum(bar.inet),local=sum(bar.local) where foo.ip = bar.ip; Andre, this worked in my test: UPDATE foo SET inet=b.i, local=b.l FROM (SELECT ip, sum(inet) AS i, sum(local) AS l FROM bar GROUP BY ip) b WHERE foo.ip = b.ip; Servus Manfred