Mysql 4.0.30错误1046 ......但是工作在5.5!

时间:2011-04-11 11:01:36

标签: mysql

在我们的开发服务器上,我们有MySql版本5.5,但在生产服务器上(来自aruba.it)我们有Mysql 4.0.30。 导致问题的SQL查询是:

  

SELECT r.iduser,ra.desapp,   r.cognom,f.desfig,r.fl_dip,(选择   sum(o.numore)/ 8来自OreConsuntive o,   Prjtask pt,Prjprogetti pp,Prjordini   po其中o.IDuser ='54'和o.dt_cns> ='20110101'和     o.dt_cns< ='20110131'和o.codcop ='F00'和   o.codtsk = pt.codtsk和   pt.codprj = pp.codprj和   pp.codord = po.codord和   左(po.cliatt,3)<>'CSA'组由   o.numore)作为TOTGIORNIFATTMESE来自   Risorse r,图f,RisorsaArea ra   在哪里r.codfig = f.codfig AND   r.areapp = ra.codapp AND r.IDuser = '54'   ORDER BY r.areapp desc

我会尝试只执行这部分

  

选择总和(o.numore)/ 8   来自OreConsuntive o,Prjtask pt,   Prjprogetti pp,Prjordini po Where   o.IDuser ='54'和o.dt_cns> =   '20110101'和o.dt_cns< ='20110131'   和o.codcop ='F00'和   o.codtsk = pt.codtsk和   pt.codprj = pp.codprj和   pp.codord = po.codord和   左(po.cliatt,3)<>'CSA'组由   o.numore

它似乎工作! 这个问题可能是由ann选择引起的吗? 如何修改我的查询以获得mysql 4.0.30上的工作?

非常感谢! 的Davide

1 个答案:

答案 0 :(得分:0)

4.1之前的MySQL版本不支持子查询。您将不得不重写您的查询以避免这种情况。

不幸的是,我不能轻易告诉你如何做到这一点,但请尝试阅读http://dev.mysql.com/doc/refman/4.1/en/rewriting-subqueries.html - 它可能会帮助你重写它。

我不知道您的特定主机,但如果他们无法将您升级到更新的MySQL,您应该尝试降级开发服务器以运行与生产服务器相同的版本 - 自4.0以来,很多事情都发生了变化,及早抓住它们可能是一个好主意。