On Tue, 2006-09-26 at 09:19, Tom Lane wrote:
> "Thomas Peter" <thomas@braindumped.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 :-(
And I think MySQL fixed this abberant behaviour in the newest beta.