From: | Sebastian Böck <sebastianboeck(at)freenet(dot)de> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Bug with view definition? |
Date: | 2005-06-08 16:07:43 |
Message-ID: | 42A717CF.1080901@freenet.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Tom Lane wrote:
> =?ISO-8859-1?Q?Sebastian_B=F6ck?= <sebastianboeck(at)freenet(dot)de> writes:
>
>>why is the last definition of a view not working, although the
>>documentation says all three are equal?
>
>
> The documentation says no such thing...
So I misinterpreted the following:
http://www.postgresql.org/docs/8.0/interactive/queries-table-expressions.html
that says:
FROM T1 CROSS JOIN T2 is equivalent to FROM T1, T2. It is also
equivalent to FROM T1 INNER JOIN T2 ON TRUE
>
>
>>CREATE OR REPLACE VIEW not_working AS
>> SELECT one.*
>> FROM one.one, two.two
>> JOIN join1 ON join1.id = one.id;
>
>
> JOIN binds tighter than comma in FROM-lists, so that means
>
> FROM one.one CROSS JOIN (two.two JOIN join1 ON join1.id = one.id);
>
> which of course is illegal because the JOIN/ON condition refers to
> something that's not within the current JOIN. Your preceding example
> parenthesizes as
>
> FROM (one.one CROSS JOIN two.two) JOIN join1 ON join1.id = one.id;
>
> which is OK.
Thanks for clarification
Sebastian
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Huxton | 2005-06-08 16:11:59 | Re: Bug with view definition? |
Previous Message | Tom Lane | 2005-06-08 16:00:00 | Re: Bug with view definition? |