using UPDATE - Mailing list pgsql-sql

From Christian Rudow
Subject using UPDATE
Date
Msg-id 37771EC5.6A9CD3D8@thinx.ch
Whole thread Raw
List pgsql-sql
I have the following SQL understanding problem concerning UPDATE :

I have two tables I want to join over a new artificial key a_id.
The tables can already be joined over an existing alternate key.
select a.a_id from a,bwhere a.custno = b.custno

=> selects about 1000 id's

b.a_id so far only holds NULL values and should be updated to hold the
correct foreign key references to a.a_id.


+-------------------+
| a                 |
|-------------------|
| a_id    prim. key |0---+
| custno  altern.key|    |
+-------------------+    |                        |                       mc               +----------------+
   | b              |               +----------------+               | b_id  prim.Key |               | a_id
forgn.Key|              1 custno         |               +----------------+
 


What i want to do is something like this :
------------------------------------------
update b
set b.a_id = a.a_id
where b.custno = a.custno;


or is that the right way to do it :

update b
set b.a_id = (select a.a_id             from a,b             where a.custno = b.custno)
where b.custno in (select a.custno from a);

I just seem to use the UPDATE not correctly, it cannot be parsed.
What is the correct solution to this ?
Can anyone help ?

I know that's a RTFM but I have no FM to R.
Is there a good SQL tutorial/reference ?

ThanX
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Christian Rudow                 E-Mail: Christian.Rudow@thinx.ch
ThinX networked business services    Stahlrain 10, CH-5200 Brugg
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


pgsql-sql by date:

Previous
From: "Hub.Org News Admin"
Date:
Subject: ...
Next
From: Christian Rudow
Date:
Subject: Using Update