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 по дате отправления:

Предыдущее
От: "Patrick Hatcher"
Дата:
Сообщение: What is Syntax for multiple FULL OUTER JOINS?
Следующее
От: "Llew Sion Goodstadt"
Дата:
Сообщение: Re: where not exists