Update from join - Mailing list pgsql-sql

From Gary Stainburn
Subject Update from join
Date
Msg-id 200607071129.35291.gary.stainburn@ringways.co.uk
Whole thread Raw
Responses Re: Update from join  (Gary Stainburn <gary.stainburn@ringways.co.uk>)
Re: Update from join  (Michael Glaesemann <grzm@seespotcode.net>)
List pgsql-sql
I know this is probably a FAQ but Google etc hasn't helped.

I have two tables, both with stock number and registration number in.
The second table always has the correct stock number, the first doesn't.

I want to copy the data across where the stock number is missing.  The select 
with join shows the rows requiring update, but I can't think how to do the 
update.

goole=# \d test1               Table "public.test1"    Column      |         Type          | Modifiers
-----------------+-----------------------+-----------ud_id           | integer               | not nullud_registration
|character varying(20) |ud_stock        | character varying(20) |
 
Indexes:   "test1_pkey" PRIMARY KEY, btree (ud_id)

goole=# \d test2             Table "public.test2"  Column   |         Type          | Modifiers
------------+-----------------------+-----------s_stock_no | character varying(8)  | not nulls_regno    | character
varying(12)|
 
Indexes:   "test2_pkey" PRIMARY KEY, btree (s_stock_no)

goole=# select ud.ud_id, ud.ud_registration, ud.ud_stock, s.s_stock_no  from test1 ud, test2 s  where
upper(ud.ud_registration)= upper(s.s_regno) and        upper(ud.ud_stock) ~ '^[NU][LD]$';ud_id | ud_registration |
ud_stock| s_stock_no
 
-------+-----------------+----------+------------ 2359 | YF06YMT         | NL       | NL6321 2397 | YF06YNC         |
NL      | NL6334 2400 | YB06MJX         | ND       | ND8402 2422 | YH06VGJ         | ND       | ND9055 2380 | YF06ZKC
     | ND       | ND9566 2447 | YB06MHX         | ND       | ND9661 2132 | YC06RZM         | ND       | ND9527 2429 |
YB06SFE        | ND       | ND9611 2448 | YB06PXV         | ND       | ND9689 2417 | YF06MXN         | ND       |
ND90122489 | YB06HHM         | ND       | ND9542 2456 | YB06SFJ         | ND       | ND9675 1666 | YC06RYR         | ND
     | NH310 2455 | YB06ZFH         | ND       | ND9754 2508 | YF06GWU         | NL       | NL6245 2655 | YC06SDV
 | ND       | ND9270 2591 | YF06OJM         | NL       | NL6351 2627 | YC06SGX         | ND       | ND9057 1795 |
YC06SGX        | ND       | ND9057 2634 | YB06KHT         | NL       | NL6450 2620 | YF06ZKD         | ND       |
ND9236
(21 rows)

-- 
Gary Stainburn
This email does not contain private or confidential material as it
may be snooped on by interested government parties for unknown
and undisclosed purposes - Regulation of Investigatory Powers Act, 2000     


pgsql-sql by date:

Previous
From: Andreas Joseph Krogh
Date:
Subject: Re: Alternative to Select in table check constraint
Next
From: Andrew Sullivan
Date:
Subject: Re: Alternative to serial primary key