J'ai une application qui exécute la requête MySQL suivante:MySQL requête fonctionne bien sur v4.1.22 mais ne fonctionne pas sur v5.x
SELECT 402 AS user_id,
p.id AS perm_id,
p.name AS perm_name,
lc.business_division_id,
bd.name AS bd_name,
bd.current_cycle, bd.current_moon,
lc.name AS cycle_name,
lc.milestone_date,
lc.scorecard_date,
bdm.name AS meta_name,
bdm.value AS meta_value
FROM lc_vc_cg_353.business_division bd,
lc_vc_cg_353.business_division_meta bdm,
lc_vc_cg_353.lunar_cycle lc
LEFT OUTER JOIN lc_vc_cg_353.permissions ps
ON ps.user_id = 402 AND ps.business_division_id = bd.id inner
join lc_vc_central.permission p
ON ((ps.privilege_id IS NOT null AND p.id = ps.privilege_id)
OR
(ps.privilege_id IS NULL AND p.id = 1024))
WHERE
bd.active = 1
AND
bdm.business_division_id = bd.id
AND
lc.business_division_id = bd.id
AND
lc.id = bd.current_cycle
ORDER by bd.name asc;
Le serveur de production fonctionne très bien et exécute MySQL v4.1.22 (Redhat), mais lorsque j'exécute la même requête sur une machine Windows exécutant MySQL v5.1.43-community, il affiche l'erreur suivante:
ERROR 1054 (42S22): Colonne inconnue 'bd.id' dans 'on clause'
Des idées sur ce que le problème pourrait être? Se pourrait-il que la syntaxe particulière ait été dépréciée dans les nouvelles versions de MySQL?
Toute aide serait grandement appréciée.