SQL subquery question

From: Rick Schumeyer <rschumeyer(at)ieee(dot)org>
To: pgsql mailing list <pgsql-general(at)postgresql(dot)org>
Subject: SQL subquery question
Date: 2006-11-15 13:28:36
Message-ID: 455B1604.4090309@ieee.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I think this can be done with one SQL statement, but I'm not sure.

I have two tables: table t contains key k, another field f, and a bunch
of other stuff.

In a poor design decision, table tsubset contains a small number of
"pointers" to t. I should have used the k column; instead I used the f
column (it is unique, but not the primary key).

I want to fix this.

I altered tsubset to have two columns, f and k, where k will be a
foreign key referencing t(k).

I now need to copy all the k values from t to tsubset.

I think I want to do something like this:

foreach f in tsubset
update tsubset set k=(select k from t, tsubset where t.f=f);
end

Can this be done with one SQL statement?

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alvaro Herrera 2006-11-15 13:30:56 Re: autovac hung/blocked
Previous Message Chris Mair 2006-11-15 13:27:38 Re: The old Insert and retrieving your Serial problem in