数据权限中 TOTAL 报错1060 - Duplicate column name 'id'

Blade 未结 1 8

一、该问题的重现步骤是什么?

1. 配置数据权限的时候,执行sql报错  1060 - Duplicate column name 'id', Time: 0.039000s


二、你期待的结果是什么?实际看到的又是什么?

希望可以正常执行sql,实际报错


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

boot 3.0.1.RELEASE liunx


四、请提供详细的错误堆栈信息,这很重要。

SELECT

COUNT(*) 

FROM

(

SELECT

scope.*  -- scope.*可以正常执行, 直接* 就会报错

FROM

(

SELECT

opp.*,

ok.NAME AS ownerName

FROM

t_opportunity opp

LEFT JOIN blade_user ok ON opp.owner_id = ok.id

WHERE

opp.is_deleted = 0 

GROUP BY opp.id 

ORDER BY

opp.starred DESC, opp.update_time DESC 

) scope

LEFT JOIN t_opportunity_supporter AS os ON scope.opportunity_num = os.opportunity_num 

WHERE

scope.owner_id = 598 

OR os.supporter_id = 598 

OR scope.id IN ( SELECT business_id FROM t_user_business_authorization WHERE is_deleted = 0 AND business_type = 1 AND user_id = 598 ) 

GROUP BY

scope.id 

ORDER BY

scope.starred DESC, scope.update_time DESC 

) TOTAL


五、若有更多详细信息,请在下面提供。

image.pngimage.png

1条回答
  • 这种情况加不了,数据权限只能给执行前的sql语句外部套一层加上对应的权限。无法侵入原版sql去修改。

    你的这种情况只能去自己写sql xml来实现

    0 讨论(0)
提交回复