From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Thomas Peter" <thomas(at)braindumped(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: change the order of FROM selection to make query work |
Date: | 2006-09-26 14:19:29 |
Message-ID: | 25383.1159280369@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
"Thomas Peter" <thomas(at)braindumped(dot)com> writes:
> the full code that does produce the error (and this error can be resolved
> as in OP described) is:
Never oversimplify a bug report.
> FROM ticket as t, permission as perm, enum as p
> LEFT OUTER JOIN ticket_custom c ON (t.id = c.ticket AND c.name =
> 'fachabteilung')
The above is, plain and simple, wrong. According to the SQL spec,
JOIN binds more tightly than comma in a FROM-list, so what you had was
FROM ..., (enum as p
LEFT OUTER JOIN ticket_custom c ON (t.id = c.ticket AND c.name =
'fachabteilung'))
which of course fails because only p and c are visible in the JOIN's
ON condition. You fixed it by moving "t" to become part of the JOIN
structure.
I was aware that MySQL parses this sort of structure wrongly, but it's
disappointing to hear that sqlite does too :-(
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Alban Hertroys | 2006-09-26 14:19:32 | Re: Dead Lock problem with 8.1.3 |
Previous Message | Martijn van Oosterhout | 2006-09-26 14:11:35 | Re: Dead Lock problem with 8.1.3 |