最近将数据库从 MySQL 4 升级到 MySQL 5。以下查询现在已损坏:
SELECT COUNT(*) FROM Customer, Product INNER JOIN Orders
ON (Customer.Email = Orders.Email)
WHERE NOT (Product.Flags & 8) AND
Customer.CustomerNumber = Product.CustomerNumber AND
Truncate(Orders.ProductId/10, 0) = Truncate(Product.ProductId/10, 0)
收到以下错误:
#1054 - Unknown column 'Customer.Email' in 'on clause'
我没有编写此查询,也不是 SQL 专家,但我猜测可能是 ANSI-89/ANSI-92 样式连接的混合,并且可能存在某种优先级问题。
你能解释一下这个错误,描述这个查询有什么问题,以及如何正确指定连接吗?