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:737,4b72e2dd10446151245148!



-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to