Re: What is Syntax for multiple FULL OUTER JOINS? - Mailing list pgsql-sql

From Stephan Szabo
Subject Re: What is Syntax for multiple FULL OUTER JOINS?
Date
Msg-id 20020319200610.W40360-100000@megazone23.bigpanda.com
Whole thread Raw
In response to What is Syntax for multiple FULL OUTER JOINS?  ("Patrick Hatcher" <PHatcher@macys.com>)
List pgsql-sql
On Tue, 19 Mar 2002, Patrick Hatcher wrote:

> Is it possible to do a full outer join on 3 or more queries?  I figured out
> how to do 2, but I get an error message when trying to do three
>
>
> Example:
>
> (works)
> select coalesce(a.f1, b.f1) as col_1, b.f2 as col_2
> from
>  (select f1, f2 from table1 where f3 =1) a
> FULL OUTER JOIN
>  (select f1, f2 from table1 where f3 =2) b
> on a.f1 = b.f1
>
> (does not work)
> select coalesce(a.f1, b.f1,c.f1) as col_1, b.f2 as col_2, c.f2 as col_3
> from
>  (select f1, f2 from table1 where f3 =1) a
> FULL OUTER JOIN
>  (select f1, f2 from table1 where f3 =2) b
> FULL OUTER JOIN
>  (select f1, f2 from table1 where f3 =3) c
> on a.f1 = b.f1and a.f1 = c.f1

You need separate on clauses for each join:
select ...
from ((select f1, f2 from table1 where f3=1) afull outer join(select f1, f2 from table1 where f3=2) bon a.f1=b.f1)full
outerjoin(select f1,f2 from table1 where f3=3) con a.f1=c.f1
 

should do it I think.



pgsql-sql by date:

Previous
From: "Patrick Hatcher"
Date:
Subject: What is Syntax for multiple FULL OUTER JOINS?
Next
From: "Llew Sion Goodstadt"
Date:
Subject: Re: where not exists