我有一个执行以下MySQL查询的应用程序:
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;生产服务器运行良好,运行的是Windowsv4.1.22 (Redhat),但是,当我在运行MySQL v5.1.43-community的Windows机上执行相同的查询时,它会出现以下错误:
错误1054 (42S22):'on子句‘中的列'bd.id’未知
有没有关于这个问题的想法?会不会是新版本的MySQL已经弃用了特定的语法?
任何帮助都将不胜感激。
发布于 2010-02-15 12:32:25
您还应该检查模式是否匹配。
business_division在Windows系统上有id列吗?
我假设数据库名称(例如lc_vc_cg_353)也匹配。
我在语法中看不到任何明显的东西。
https://stackoverflow.com/questions/2263972
复制相似问题