当前使用版本(必填,否则不予处理)

3.5.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

由于业务复杂,sql联查最新的数据,所以自己写了sql如下 select fdp.* from tb_xx(NOLOCK) fdp JOIN ( select autoid,ROW_NUMBER() over (PARTITION BY supplierId ORDER BY submitTime DESC) as r from tb_xx(nolock) where dataFrom='aa' AND flag=0 ) fdp1_tb on fdp1_tb.r=1 and fdp1_tb.autoid=fdp.autoid

重现步骤(如果有就写完整)

接口Page findList(Page page, @Param("sMap")Map fdps); 自定义sql

报错信息

SQL: WITH selectTemp AS (SELECT TOP 100 PERCENT ROW_NUMBER() OVER (ORDER BY submitTime DESC) as r from tb_xx(nolock) where dataFrom='aa' AND flag=0 ) fdp1_tb on fdp1_tb.r=1 and fdp1_tb.autoid=fdp.autoid where fdp.flag=0 order by fdp.autoid desc) as row_number, fdp.* from tb_xx(NOLOCK) fdp JOIN ( select autoid,ROW_NUMBER() over (PARTITION BY supplierId ORDER BY submitTime DESC) as r from tb_xx(nolock) where dataFrom='aa' AND flag=0 ) fdp1_tb on fdp1_tb.r=1 and fdp1_tb.autoid=fdp.autoid where fdp.flag=0 order by fdp.autoid desc) SELECT * FROM selectTemp WHERE row_number BETWEEN 1 AND 5 ORDER BY row_number

Cause: java.sql.SQLException: Incorrect syntax near 'fdp1_tb'.

; bad SQL grammar []; nested exception is java.sql.SQLException: Incorrect syntax near 'fdp1_tb'.

Comment From: qmdx

可能是 jSqlParser 解析异常,参考 https://baomidou.com/pages/97710a/ 关闭 page 自动 sql 优化