"Jan Pieter Kunst" <[EMAIL PROTECTED]> wrote on 02/21/2006 04:54:46 AM:
> On 2/20/06, Eric Persson <[EMAIL PROTECTED]> wrote: > > Hi, > > > > I have a query which works fine for me in my 4.1 environment, but when > > moved to the 5.0.18 environment, it fails with the result below: > > > > mysql> SELECT r.uid, u.username, u.image_type, count(id) AS antal, > > s.timestamp FROM recruits_uid r, users u, users u2 LEFT JOIN sessions s > > ON s.uid=u.uid WHERE r.uid=u.uid AND r.rec_uid=u2.uid AND u2.deleted="0" > > AND datetime>"0000-00-00 00:00:00" GROUP BY r.uid ORDER BY antal DESC > > LIMIT 100; > > ERROR 1054 (42S22): Unknown column 'u.uid' in 'on clause' > > mysql> > > > > It seems like the table alias u is not recognized for some reason. Does > > anyone have any hints about this? > > Yes, try this: > > LEFT JOIN sessions s ON (s.uid=u.uid) > > the ON-clause enclosed in parentheses. > > JP > JP, That's not what Gabriel meant when he said to use parentheses.... The original <table ref> portion of the original query contained several tables that were implicitly cross joined by commas. Eric will need to use parentheses in order to change the order of operations (the join sequence) to include one of his comma-listed tables first or he will need to rewrite his query to use the explicit JOIN ON syntax for all of the <table def> components of his <table ref> clause. The demotion of the comma operator as of 5.0.12 makes MySQL more compliant with the applicable SQL standards. Unfortunately there were many users who blindly followed the examples in the documentation and only learned to use commas when they wanted to declare INNER JOINs. Or, they come from Oracle-like systems who use only commas to declare INNER JOINs (and the outer ones, too). Full details on the change and it's impact on query design can be found here: http://dev.mysql.com/doc/refman/5.0/en/join.html I have requested that the documentation be rewritten so that the explicit forms of JOIN declarations are used more often than the implicit form. I do not know the status of making those changes. Perhaps if other could make their recommendations, fewer of our new users will run into this same issue. Shawn Green Database Administrator Unimin Corporation - Spruce Pine