Re: need clean way to copy col vals from one rec to another - Mailing list pgsql-general

From Gauthier, Dave
Subject Re: need clean way to copy col vals from one rec to another
Date
Msg-id 482E80323A35A54498B8B70FF2B879800444228EDD@azsmsx504.amr.corp.intel.com
Whole thread Raw
In response to Re: need clean way to copy col vals from one rec to another  (Alban Hertroys <dalroi@solfertje.student.utwente.nl>)
List pgsql-general
Outstanding !
Thanks Alban.

-----Original Message-----
From: Alban Hertroys [mailto:dalroi@solfertje.student.utwente.nl]
Sent: Wednesday, February 10, 2010 11:46 AM
To: Gauthier, Dave
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] need clean way to copy col vals from one rec to another

On 10 Feb 2010, at 17:28, Gauthier, Dave wrote:

> create table foo (name text, company text,  job text);
> insert into foo (name,company,job) values ('joe','ge','engineer');
> insert into foo (name) values ('sue');
>
> What I want to do is map joe's company and job over to the sue record, ending up with....
> 'sue' 'ge' 'engineer'
>
> Is there a quick/clever.efficient way to do this?

UPDATE foo SET company = joe.company, job = joe.job
  FROM foo AS joe
 WHERE foo.name = 'sue'
   AND joe.name = 'joe';

You could also do this on insert by using:

INSERT INTO foo (name, company, job)
SELECT 'sue', joe.company, joe.job
  FROM foo AS joe
 WHERE joe.name = 'joe';

Alban Hertroys

--
If you can't see the forest for the trees,
cut the trees and you'll see there is no forest.


!DSPAM:1015,4b72e2dc10441976818836!



pgsql-general by date:

Previous
From: Alban Hertroys
Date:
Subject: Re: need clean way to copy col vals from one rec to another
Next
From: Baron Schwartz
Date:
Subject: Logging statement/duration on the same line