Re: Union instead of Outer Join

From: Jeff Eckermann <jeff_eckermann(at)yahoo(dot)com>
To: Unnikrishnan Menon <unnikrishnan(dot)menon(at)chennai(dot)transys(dot)net>, pgsql-sql(at)postgresql(dot)org
Subject: Re: Union instead of Outer Join
Date: 2002-01-17 20:01:03
Message-ID: 20020117200103.3742.qmail@web20802.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

select
item_code, coalesce(user_id, ' ') as user_id
from
item_list l inner join user_detail s on l.user_id
= s.user_id
left outer join user_detail b on l.other_userid =
b.user_id
where
l.item_code = 1234;

Joins can be named in different ways; see the "SELECT"
page in the "SQL Commands" section of the docs.

Your message suggests that you want a right join on b
& l; the syntax above corresponds to what you stated
(per my Oracle reference).

--- Unnikrishnan Menon
<unnikrishnan(dot)menon(at)chennai(dot)transys(dot)net> wrote:
> Hi,
>
> I have this query in oracle which I'am trying to
> port to PostgreSQL :
>
> Select
> item_code, nvl(user_id,' ') as user_id
> from
> item_list L, User_detail B, User_detail S
> where
> L.user_id = S.User_id and
> L.other_userid = B.user_id(+) and
> L.item_code = 1234;
>
> This query gives me 1 row as result. L.other_userid
> could be null.
>
> I try changing the query thus in postgreSQL :
>
> Select
> item_code, nvl(user_id,' ') as user_id
> from
> item_list L, User_detail B, User_detail S
> where
> L.user_id = S.User_id and
> L.other_userid = B.user_id and
> L.item_code = 1234
> Union
> Select
> item_code, nvl(user_id,' ') as user_id
> from
> item_list L, User_detail B, User_detail S
> where
> L.user_id = S.User_id and
> L.item_code = 1234 and
> 0 = ( Select
> count(*)
> from
> listed_items L, user_detail B,
> user_detail S
> where
> L.other_userid = B.user_id);
>
> The above query does not return any row. Where could
> I be going wrong?
>
> Any help would be appreciated.
>
> Thanx in advance
>
> Unni
>

__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Braum Meakes 2002-01-17 22:27:39 User Permissions
Previous Message Bruno Wolff III 2002-01-17 19:52:15 Re: Union instead of Outer Join