agora inbox for pgsql-sql@postgresql.org
help / color / mirror / Atom feedFrom: David G Johnston <david.g.johnston@gmail.com>
To: pgsql-sql@postgresql.org
Subject: Re: Reg: Sql Join
Date: Wed, 30 Jul 2014 15:49:05 -0700 (PDT)
Message-ID: <1406760545580-5813364.post@n5.nabble.com> (raw)
In-Reply-To: <1406760324275-5813363.post@n5.nabble.com>
References: <CAAvgTTT02zxdRzfcFiq+V-zDQzcOUNrsQGSLNsi2Xc02kuygKg@mail.gmail.com>
<1406760324275-5813363.post@n5.nabble.com>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-sql>
David G Johnston wrote
>
> CrashBandi wrote
>> Hi,
>>
>> I am having the following question. I am not sure how to approach it.
>> Please help!
>>
>> table A
>> name col1 col2 col3 col4 apple 100 11111 1 APL orange 200 22222 3 ORG
>> carrot 300 33333 3 CRT
>>
>> table B
>> custom_name value obj_type obj_id apple a FR 100 orange o FR 200
>> carrot
>> c VG 300 apple d FR 11111 orange e VG 22222 carrot f UC 33333 apple h
>> VG
>> 1 orange o FR 3 carrot c VG 3
>> when obj_type ='FR' then join on col1
>> When obj_type='VG' then join on col2
>> When obj_type='UC' then join on col2
>>
>> Thanks In advance,
>> CB
> You cannot do conditional joins in this manner. You will need to write
> three joins, one each against a subquery with the appropriate where
> clause.
>
> David J.
Actually you might be able to do:
On (case obj_type when 'xxx' then col1 when 'yyy' then col2 end = obj_id)
But I haven't tried something like this before.
David J.
--
View this message in context: http://postgresql.1045698.n5.nabble.com/Reg-Sql-Join-tp5813360p5813364.html
Sent from the PostgreSQL - sql mailing list archive at Nabble.com.
--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql
view thread (7+ messages) latest in thread
Message-ID: <1406760545580-5813364.post@n5.nabble.com>
Permalink: ../1406760545580-5813364.post@n5.nabble.com/
Also on: postgresql.org/message-id/1406760545580-5813364.post@n5.nabble.com
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: david.g.johnston@gmail.com
Subject: Re: Reg: Sql Join
In-Reply-To: <1406760545580-5813364.post@n5.nabble.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox