这是我在java文件中使用的查询。我在Oracle SQL开发人员中尝试过,它可以按预期工作。但是我在构建时间上遇到了错误。
private static final String FIND_TOTALS_BY_STATUS_FOR_HEADER = "SELECT status, count(status) FROM uh_task_executions t1 WHERE th_task_execution_header_id_fk = ?"
+ "AND start_time IN (SELECT start_time FROM uh_task_executions t2 WHERE th_task_execution_header_id_fk = ? and t1.target = t2.target) GROUP BY status";
脚本:
SELECT status, count(status) FROM uh_task_executions t1 WHERE th_task_execution_header_id_fk = 10047
AND start_time IN (SELECT start_time FROM uh_task_executions t2 WHERE th_task_execution_header_id_fk = 10047 and t1.target = t2.target) GROUP BY status
错误消息
PreparedStatementCallback;错误的SQL语法[SELECT状态, 在uh_task_executions t1处计数(状态) th_task_execution_header_id_fk =? AND start_time IN(选择 从uh_task_executions t2开始时间start_time th_task_execution_header_id_fk =?和t1.target = t2.target)GROUP BY 状态];嵌套异常是java.sql.SQLSyntaxErrorException:您 您的 SQL语法中有错误;检查手册 对应于您的MySQL服务器版本以使用正确的语法 在'start_time IN附近(从uh_task_executions t2选择SELECT start_time 在第1行的th_task_execu'
答案 0 :(得分:2)
在此处添加空间
function onError(e) {
var err = e.XMLHttpRequest.responseText;
alert(err);
e.stopPropagation();
return false;
};
此外,您宁愿使用表别名无处不在,否则可能会得到意想不到的结果。