Re: Join condition parsing puzzle

Поиск
Список
Период
Сортировка
От Mark Jeffcoat
Тема Re: Join condition parsing puzzle
Дата
Msg-id CAOT_8kZJrtPDRvSJ41iLk+jKAyrZNssT-92w2gYD+7fsELqGTg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Join condition parsing puzzle  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
On Thu, Aug 23, 2018 at 4:51 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> Mark Jeffcoat <jeffcoat@alumni.rice.edu> writes:

> > I would have claimed before seeing this example that it wasn't even
> > grammatical; I thought the only legal place to write the ON clause was
> > immediately after the JOIN. Apparently not.
>
> You read it as
>
> SELECT *
> FROM
>   relation_a
>   LEFT JOIN (relation_b
>              JOIN relation_c
>              ON (relation_c.id_p = relation_b.id_p))
>   ON (relation_a.id_c = relation_b.id_c AND relation_a.id_v = relation_b.id_v);
>
> There's no other valid way to parenthesize it, so that's what
> the parser does.



Thank you very much for your help, Tom. In retrospect, I see I'd
over-generalized the rule that sub-selects in the from clause require
an alias.

Clear now.

-- 
Mark Jeffcoat
Austin, TX


В списке pgsql-general по дате отправления:

Предыдущее
От: Dimitri Maziuk
Дата:
Сообщение: Re: unorthodox use of PG for a customer
Следующее
От: Tim Cross
Дата:
Сообщение: Re: unorthodox use of PG for a customer