sql = "select sum(Score) a,Period,AindicatorsClass.indicatorsClass,AindicatorsClass.ID from Aresult "
+"left join AindicatorsClass on Aresult.indicatorsClass=AindicatorsClass.ID"
+ "group by Period,AindicatorsClass.indicatorsClass,AindicatorsClass.ID"
+ "having Period ='"+myyear+"'"; 错误提示:[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在关键字 'by' 附近有语法错误。
希望高手指点,在查询分析器中运行是没有问题的,放到dreamweaver中运行后,就出现了错误。
+"left join AindicatorsClass on Aresult.indicatorsClass=AindicatorsClass.ID"
+ "group by Period,AindicatorsClass.indicatorsClass,AindicatorsClass.ID"
+ "having Period ='"+myyear+"'"; 错误提示:[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在关键字 'by' 附近有语法错误。
希望高手指点,在查询分析器中运行是没有问题的,放到dreamweaver中运行后,就出现了错误。
+"left join AindicatorsClass on Aresult.indicatorsClass=AindicatorsClass.ID"
---空格
+ " group by Period,AindicatorsClass.indicatorsClass,AindicatorsClass.ID"
+ "having Period ='"+myyear+"'";
+"left join AindicatorsClass on Aresult.indicatorsClass=AindicatorsClass.ID"
+ "group by Period,AindicatorsClass.indicatorsClass,AindicatorsClass.ID"
+ "having Period ='"+myyear+"'"; 1# Score、Period 没指定!
2# 可以写成sql = "select sum(Score) a,Period,AindicatorsClass.indicatorsClass,AindicatorsClass.ID from Aresult "
+"left join AindicatorsClass on Aresult.indicatorsClass=AindicatorsClass.ID"
+ "where Period ='"+myyear+"'"
+ "group by Period,AindicatorsClass.indicatorsClass,AindicatorsClass.ID";
在ASP进行字符串连接时,你不给它空格它不会自动产生,这样按你写的,就会成:
on Aresult.indicatorsClass=AindicatorsClass.IDgroup by Period,AindicatorsClass
这样在 by 前会产生语法错误.
+ "having Period ='"+myyear+"'"; having 后面的应该使用统计函数 如sum,count,avg
所以你的Period ='"+myyear+"'"; 应该放在where中sql = "select sum(Score) a,Period,AindicatorsClass.indicatorsClass,AindicatorsClass.ID from Aresult "
+"left join AindicatorsClass on Aresult.indicatorsClass=AindicatorsClass.ID"
+ " where Period ='"+myyear+"'";
+ " group by Period,AindicatorsClass.indicatorsClass,AindicatorsClass.ID"