一、该问题的重现步骤是什么?
select * from (SELECT count(*) FROM biz_factory_purchase_order WHERE is_deleted = 0 AND tenant_id = ? AND order_date >= ? AND order_date <= ? AND tenant_id = '000001' ORDER BY id DESC) scope where scope.source_code in ("xdlk")
### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'scope.source_code' in 'where clause'
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bldaexboot 4.6.0
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
如果你这个是在分页的时候,分页的统计报的错,你得下载个4.7最新版,看看新版代码在同样配置下会不会有同样的问题。如果有请把详细配置和操作发给我们,我们根据你的重现步骤去排查。
如果不是列表分页的时候报的错而是自定义的统计逻辑,则在统计的情况下,直接用自动的数据权限确实是会有问题的。因为内部生成的sql返回的结果知识一个统计的数字,没有权限相关的字段。外面再包一层来查询就会报错了。
所以数据权限只限于返回列表,并且包含权限字段的时候来进行使用。如果返回的字段是统计数字,则不能用数据权限进行查询。
我是自定义的统计SQL 这种情况有没有什么好的扩展现在
没好办法,只能自己写sql的时候加上条件。
扫一扫访问 Blade技术社区 移动端