Re: What is Syntax for multiple FULL OUTER JOINS?
От | Stephan Szabo |
---|---|
Тема | Re: What is Syntax for multiple FULL OUTER JOINS? |
Дата | |
Msg-id | 20020319200610.W40360-100000@megazone23.bigpanda.com обсуждение исходный текст |
Ответ на | What is Syntax for multiple FULL OUTER JOINS? ("Patrick Hatcher" <PHatcher@macys.com>) |
Список | 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 по дате отправления: