簡體   English   中英

語法Build時間中的錯誤/不良SQL語法

[英]syntax Error/bad SQL grammar in Build time

這是我在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 status,count(status)來自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 WHERE th_task_execu選擇SELECT start_time位置”)附近使用

在此處添加空間:

+ " AND start_time IN ...
   ^
   |
  here

此外,您寧願在任何地方使用表別名,否則可能會得到意外的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM