| From: | Rodrigo De León <rdeleonp(at)gmail(dot)com> |
|---|---|
| To: | "Chansup Byun" <Chansup(dot)Byun(at)sun(dot)com> |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: What is the best way to merge two disjoint tables? |
| Date: | 2007-09-07 17:32:10 |
| Message-ID: | a55915760709071032o3387295cma2bdde5a8ede60f8@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On 9/7/07, Chansup Byun <Chansup(dot)Byun(at)sun(dot)com> wrote:
> Can someone show me an example SQL statement?
I suppose you could add a constant, non-overlapping number to add to
the duplicate IDs, say 1000, and then this:
SELECT COALESCE(T1.U_USER, T2.U_USER) AS U_USER
, COALESCE(CASE
WHEN EXISTS(SELECT 1
FROM TABLEB
WHERE U_ID = T1.U_ID
AND U_USER <> T1.U_USER)
THEN T1.U_ID + 1000
ELSE T1.U_ID
END
, T2.U_ID
) AS U_ID
FROM TABLEA T1 FULL JOIN TABLEB T2 ON T1.U_USER = T2.U_USER
will generate a new list of U_USERs and U_IDs.
Good luck.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Guy Rouillier | 2007-09-07 18:01:31 | Re: an other provokative question?? |
| Previous Message | Markus Schiltknecht | 2007-09-07 16:48:52 | Re: Connection Pooling directly on Postgres Server |