Protected by Sectigo SSL

I'm getting SQL errors on MySQL 5 saying it can't find a column - but it's there!

1054 - Unknown column 'a.c' in 'on clause'

This can happen if you're doing something like:

SELECT * FROM a, b LEFT JOIN c ON a.d = c.e;

...which looks, on the surface of it, fine. But it's invalid SQL; bugs in earlier versions of MySQL (4.x) caused it to be parsed as above and appear to work, but the SQL standard says it should be read as:

SELECT * FROM a, b LEFT JOIN c ON a.d = c.e;

...and you can see that the LEFT JOIN no longer makes any sense. So, to fix your SQL, you need to either move the JOIN statement so it's between the two tables it's joining:

SELECT * FROM a LEFT JOIN c ON a.d = c.e, b;

...or explicitly group like ((a,b),c) instead of (a,(b,c)):

SELECT * FROM (a, b) LEFT JOIN c ON a.d = c.e;

  • Email, SSL
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

Can I use Microsoft SQL Server Management Studio to manage my MSSQL database?

We run Microsoft SQL Server 2008 on our servers, only Microsoft SQL Server Management Studio 2008...

How can I connect to a MySQL database through .NET?

MySQL Connection Strings on a Windows hosted siteAll Windows shared servers have the...

Can I connect to a MSSQL database from my linux shared hosting account?

Yes, you can connect to MSSQL databases through PHP5 via the ms_sql extension and the ms_sqli...

How do I connect to MySQL with ASP?

This applies to Windows Hosting accounts only. You will need to use a DSNless connection which...

How can I connect remotely to my MySQL database?

Once logged into your hosting control panel go to Web Tools > Remote MySQL and this will take...