我在 Ubuntu 机器上的 mysql 5.1.41 环境中遇到了一个奇怪的情况,即 sql 查询。
代码如下
SELECT spedizione0_.idspedizione,
spedizione0_.*,
(
SELECT COUNT(n.idnegozio)
FROM negozio n
LEFT JOIN confezione c
ON n.idnegozio = c.idnegozio
AND c.idspedizione = spedizione0_.idspedizione
WHERE n.datainizio <= spedizione0_.dataspedizione
AND n.datafine >= spedizione0_.dataspedizione
OR c.idspedizione != 0
) AS formula5_
FROM orocashgenerico.spedizione spedizione0_
ORDER BY spedizione0_.dataspedizione DESC
在这种情况下,错误显示:[Err] 1054 - Unknown column 'spedizione0_.idspedizione' in 'on Clause'
运行此查询的唯一方法是将 .. on n.idnegozio=c.idnegozio 和 c.idspedizione=spedizione0_.idspedizione 更改为 on n.idnegozio=c.idnegozio 和 c.idspedizione=12
对我来说最奇怪的事情是:如果我将 and 条件移动到 where 子句,查询会正确运行,当然结果不是我所例外的。
我的问题是问题出在哪里?
与MySQL版本有关吗?