Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL查询在Navicat中工作,但在其他地方生成MySQL语法错误_Mysql_Sql_Dreamweaver_Syntax Error - Fatal编程技术网

MySQL查询在Navicat中工作,但在其他地方生成MySQL语法错误

MySQL查询在Navicat中工作,但在其他地方生成MySQL语法错误,mysql,sql,dreamweaver,syntax-error,Mysql,Sql,Dreamweaver,Syntax Error,大家好,提前谢谢你们的帮助。我很沮丧,因为我正在编写相对较长的sql查询,至少对于像我这样的n00b来说,它在NaviCat中工作得非常好。然后,我将它们导入到dreamweaver sql编辑器中,在那里我正在设计我的站点,它们会返回 > MySQL Error#: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for

大家好,提前谢谢你们的帮助。我很沮丧,因为我正在编写相对较长的sql查询,至少对于像我这样的n00b来说,它在NaviCat中工作得非常好。然后,我将它们导入到dreamweaver sql编辑器中,在那里我正在设计我的站点,它们会返回

>   MySQL Error#: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2 
我将发布其中一个问题,希望有人能指出我做错了什么

 SELECT (SELECT COUNT(GA_Potential.Potential_ID)
FROM GA_Potential
WHERE GA_Potential.Character_ID=14)+  (SELECT COUNT(GA_PurchasedPotential.PurchasedPotential_ID)From GA_PurchasedPotential Where GA_PurchasedPotential.Member_ID=2)+ (SELECT GA_Characters.StartPotential From GA_Characters WHERE GA_Characters.Character_ID =14)+ (SELECT FLOOR(iot_ActingPoints.Acting_Points/10) From iot_ActingPoints WHERE iot_ActingPoints.Member_ID=2)- (SELECT SUM(GA_AttributePoints.Determination_Points) FROM GA_AttributePoints WHERE GA_AttributePoints.Character_ID=14)- (SELECT SUM(GA_AttributePoints.Dexterity_Points) FROM GA_AttributePoints WHERE GA_AttributePoints.Character_ID=14)- (SELECT SUM(GA_AttributePoints.Productivity_Points) FROM GA_AttributePoints WHERE GA_AttributePoints.Character_ID=14)- (SELECT SUM(GA_AttributePoints.Sophistication_Points) FROM GA_AttributePoints WHERE GA_AttributePoints.Character_ID=14)- (SELECT SUM(GA_AttributePoints.Strength_Points) FROM GA_AttributePoints WHERE GA_AttributePoints.Character_ID=14)- (SELECT IFNULL(SUM(GA_CasteAbilitiesForList.Potential_Cost),0) FROM GA_CasteAbilitiesForList,GA_LearnedAblities WHERE GA_CasteAbilitiesForList.Ability_ID=GA_LearnedAblities.Ability_ID AND GA_LearnedAblities.Character_ID=14)- (SELECT IFNULL(SUM(GA_ProfAbilitiesForList.Potential_Cost),0) FROM GA_ProfAbilitiesForList,GA_LearnedAblities WHERE GA_ProfAbilitiesForList.Ability_ID=GA_LearnedAblities.Ability_ID AND GA_LearnedAblities.Character_ID=14) AS TOTAL
这正好生成我想要的NaviCat中的数字

编辑:我去掉了NaviCat自动输入的所有单引号,但仍然得到相同的错误

提前谢谢


-CB

只是一个臀部镜头:也许你需要在所有子选区周围使用括号,比如

SELECT 
((SELECT COUNT(`GA_Potential`.`Potential_ID`) From`GA_Potential` WHERE`GA_Potential`.`Character_ID`=14)+ 
(SELECT COUNT(`GA_PurchasedPotential`.`PurchasedPotential_ID`)From`GA_PurchasedPotential` Where`GA_PurchasedPotential`.`Member_ID`=2)+
(SELECT `GA_Characters`.`StartPotential` From `GA_Characters` WHERE `GA_Characters`.`Character_ID` =14)+
(SELECT FLOOR(`iot_ActingPoints`.`Acting_Points`/10) From `iot_ActingPoints` WHERE `iot_ActingPoints`.`Member_ID`=2)-
(SELECT SUM(`GA_AttributePoints`.`Determination_Points`) FROM `GA_AttributePoints` WHERE `GA_AttributePoints`.`Character_ID`=14)-
(SELECT SUM(`GA_AttributePoints`.`Dexterity_Points`) FROM `GA_AttributePoints` WHERE `GA_AttributePoints`.`Character_ID`=14)-
(SELECT SUM(`GA_AttributePoints`.`Productivity_Points`) FROM `GA_AttributePoints` WHERE `GA_AttributePoints`.`Character_ID`=14)-
(SELECT SUM(`GA_AttributePoints`.`Sophistication_Points`) FROM `GA_AttributePoints` WHERE `GA_AttributePoints`.`Character_ID`=14)-
(SELECT SUM(`GA_AttributePoints`.`Strength_Points`) FROM `GA_AttributePoints` WHERE `GA_AttributePoints`.`Character_ID`=14)-
(SELECT IFNULL(SUM(`GA_CasteAbilitiesForList`.`Potential_Cost`),0) FROM `GA_CasteAbilitiesForList`,`GA_LearnedAblities` WHERE `GA_CasteAbilitiesForList`.`Ability_ID`=`GA_LearnedAblities`.`Ability_ID` AND `GA_LearnedAblities`.`Character_ID`=14)-
(SELECT IFNULL(SUM(`GA_ProfAbilitiesForList`.`Potential_Cost`),0) FROM `GA_ProfAbilitiesForList`,`GA_LearnedAblities` WHERE `GA_ProfAbilitiesForList`.`Ability_ID`=`GA_LearnedAblities`.`Ability_ID` AND `GA_LearnedAblities`.`Character_ID`=14))
AS total

另外:错误消息是否真的在附近结束?

也有同样的问题-将此信息留给遇到此问题的其他人:

Dreamweaver不喜欢SQL中的多个SELECT语句。我能够重新处理查询,使其不需要多个SELECT语句,错误消失了


作为补充说明,我认为这是附加说明,但它们似乎可以与其他函数配合使用。

错误消息在它变得有趣的地方被完全切断!对不起,汤姆!我不知道为什么我认为这不相关。下面是完整的消息:MySQL错误:1064您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以获得在第行附近使用的正确语法2@user1262890-而不是试图解决整个问题。如果您仅使用第一个选项进行尝试,会发生什么情况?ie选择从GA_Potential中选择COUNTGA_Potential.Potential_ID,其中GA_Potential.Character_ID=14作为总数,如果有效,则添加第二个。有变化吗?您还可以研究是否可以使用CASE重写为一个、两个或三个较小的查询,这样会更具可读性,而且性能可能也更好;我一直在尝试这个查询的每个可能的迭代,只使用了前几个部分。从GA_Potential中选择SELECT COUNTGA_Potential.Potential_ID,其中GA_Potential.Character_ID=14+作为总返回MySQL错误:1064您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第2行附近要使用的正确语法。当然,如果您删除了初始的SELECT,查询就会工作,但是当您尝试对它们求和时,查询返回的数字是错误的。我也不知道如何使用CASE。你能给我举个例子吗?带括号的查询在Navicat中仍然有效,当我在Dreamweaver中测试它时,它会在我尝试使用数据时生成错误。我修改了我以前的帖子,把剩下的错误也包括进去了。很抱歉。