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 - 不明な列 'spedizione0_.idspedizione' in 'on clause'
このクエリを実行する唯一の方法は、.. on n.idnegozio=c.idnegozio and c.idspedizione=spedizione0_.idspedizione を on n.idnegozio=c.idnegozio and c.idspedizione=12 に変更することです。
私にとって最も奇妙なことは、 and 条件を where 句に移動すると、クエリが正しく実行されますが、もちろん、結果は例外ではありません。
私の質問は、どこに問題があるのですか?
MySQLのバージョンに何か関係がありますか?