语法Build时间中的错误/不良SQL语法

时间:2019-07-03 19:37:44

标签: mysql oracle

这是我在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'

1 个答案:

答案 0 :(得分:2)

在此处添加空间

function onError(e) {
    var err = e.XMLHttpRequest.responseText;
    alert(err); 
    e.stopPropagation();
    return false;
};

此外,您宁愿使用表别名无处不在,否则可能会得到意想不到的结果。