Received: from localhost.localdomain (postgresql.org [64.49.215.8]) by localhost (Postfix) with ESMTP id 011D5475DBC for ; Mon, 3 Jun 2002 09:53:27 -0400 (EDT) Received: from server.beierfeld.kabeljournal.de (pD9508747.dip.t-dialin.net [217.80.135.71]) by postgresql.org (Postfix) with SMTP id CAEF1475B69 for ; Mon, 3 Jun 2002 09:41:29 -0400 (EDT) Received: (qmail 14082 invoked from network); 3 Jun 2002 13:41:31 -0000 Received: from station158.beierfeld.kabeljournal.de (HELO station158) (192.168.128.158) by server.beierfeld.kabeljournal.de with SMTP; 3 Jun 2002 13:41:31 -0000 Date: Mon, 3 Jun 2002 15:46:46 +0200 From: Andre Schubert To: "Manfred Koizar" Cc: pgsql-sql@postgresql.org Subject: Re: How to update Message-Id: <20020603154646.4ce61690.andre.schubert@km3.de> In-Reply-To: References: <20020603100028.38dd8a7e.andre.schubert@km3.de> Organization: km3 teledienst GmbH X-Mailer: Sylpheed version 0.7.5 (GTK+ 1.2.6; i586-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Archive-Number: 200206/14 X-Sequence-Number: 7979 On Mon, 03 Jun 2002 15:08:46 +0200 "Manfred Koizar" wrote: > 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 Thank you very much, this always works for me... :) Regards