查询语句如下:
控制台报错:### SQL: SELECT t1.*, t2.ID AS AREA_ID, t2.AREA, t2.AREA_CODE, t2.CREATE_TIME AS AREA_CREATE_TIME, t2.UPDATE_TIME AS AREA_UPDATE_TIME FROM XB_INVOICE_OPERATOR_INFO t1LEFT JOIN XB_INVOICE_AREA_INFO t2 ON t1.INVOICE_AREA_ID = t2.ID WHERE t1.INVOICE_AREA_ID = ?
### Cause: java.sql.SQLException: ORA-00904: "T1"."INVOICE_AREA_ID": 标识符无效; bad SQL grammar []; nested exception is java.sql.SQLException: ORA-00904: "T1"."INVOICE_AREA_ID": 标识符无效
从打印错误看执行的SQL语句中表别名t1为什么和关键字LEFT连在一起?导致标识符无效

解决方案 »

  1.   

    t1 后面加个空格,  然后在LEFT JOIN前面加个 空格试试
      

  2.   


    跟空格没关系,在pl/sql中语句是正常执行的,到了程序就报错,而且数据库没有连错:别的查询语句能够正常查到数据。
      

  3.   

    INVOICE_AREA_ID 传进来是小数还是整数 改成一致看看啊
      

  4.   

    已解决问题:使用net.sf.jsqlparser分表插件(有bug)导致处理后的SQL拼接出现上述问题
    解决:在配置中忽略相应接口方法
      

  5.   

    分表~~sql解析还是用druid的好