当前使用版本(必填,否则不予处理)
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
报错信息
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 优化