From: | hubert depesz lubaczewski <depesz(at)depesz(dot)com> |
---|---|
To: | Aaron Burnett <aburnett(at)bzzagent(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Assistance with SQL |
Date: | 2008-09-01 07:39:09 |
Message-ID: | 20080901073909.GA14823@depesz.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Sun, Aug 31, 2008 at 11:31:32PM -0400, Aaron Burnett wrote:
> table1 has 25 columns
> table2 is a subset of table1 (create table2 as select
> id,field1,field2,field3,field4,field5,field6 from table1) with just 7
> columns
> There is a primary key on ID
> table2 was exported to a CSV, truncated, then the ³cleaned² CSV was
> re-imported to table2
> In a nutshell I need to find the difference between the 6 columns in table2
> vs table1 and update table1, again, with the ID column being the pk.
update table1 as t1
set
field1 = t2.field1,
field2 = t2.field2,
field3 = t2.field3,
field4 = t2.field4,
field5 = t2.field5,
field6 = t2.field6
from
table2 t2
where
t1.id = t2.id
and (
( t1.field1 is distinct from t2.field1 ) OR
( t1.field2 is distinct from t2.field2 ) OR
( t1.field3 is distinct from t2.field3 ) OR
( t1.field4 is distinct from t2.field4 ) OR
( t1.field5 is distinct from t2.field5 ) OR
( t1.field6 is distinct from t2.field6 )
);
should work.
Best regards,
depesz
--
Linkedin: http://www.linkedin.com/in/depesz / blog: http://www.depesz.com/
jid/gtalk: depesz(at)depesz(dot)com / aim:depeszhdl / skype:depesz_hdl / gg:6749007
From | Date | Subject | |
---|---|---|---|
Next Message | Henry | 2008-09-01 07:42:58 | Re: Oracle and Postgresql |
Previous Message | Brent Wood | 2008-09-01 06:48:34 | Re: Oracle and Postgresql |