权限设置,不同权限查看的人数不同

管理员账号登录时可以查看所有内容(例如业务员a,b,c三个负责的所有客户内容),业务员登录的时候只可以看到12121负责的客户内容

这个在数据集总怎么合并怎么写,麻烦各位大佬谢谢

-- 管理员登录的时候显示获取这段sql

SELECT DISTINCT comp_id,type

FROM

(

SELECT pur,type

FROM a

WHERE type=1 and acctid = 'admin'-- '${fine_username}'

) a

INNER JOIN

(

SELECT DISTINCT comp_id,comp_name,com_id FROM b 

WHERE com_id NOT IN (SELECT cus_code FROM c) 

) b

ON a.pur = b.com_id OR a.pur='-1'

-- 业务员登录的时候获取这一段sql

SELECT DISTINCT comp_id,type

FROM

(

SELECT pur,type

FROM a

WHERE (type = 7) and acctid = '12121'-- '${fine_username}'

) a

INNER JOIN

(

SELECT DISTINCT comp_id,com_id FROM b 

WHERE com_id NOT IN (SELECT cus_code FROM c) 

) b

ON a.pur = b.comp_id

FineReport 帆软用户CYJXJ 发布于 2023-11-24 11:02 (编辑于 2023-11-24 11:04)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CT1448Lv5中级互助
发布于2023-11-24 11:30

SELECT DISTINCT comp_id,type

FROM

(

SELECT pur,type

FROM a

WHERE 1=1 

${if(fine_username='admin',"and type=1 and acctid = 'admin'","and type = 7 and acctid = '12121'")}

) a

INNER JOIN

(

SELECT DISTINCT comp_id,comp_name,com_id FROM b 

WHERE com_id NOT IN (SELECT cus_code FROM c) 

) b

ON a.pur = b.com_id 

${if(fine_username='admin',"OR a.pur='-1'","")}

  • CYJXJ CYJXJ(提问者) 不知道这个为啥用不了,但是把if改成case的形式就可以用了
    2023-12-06 15:40 
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-11-24 11:23
  • 帆软用户CYJXJ 帆软用户CYJXJ(提问者) 想用sql的形式控制,因为可能要好几级的关系,目前想通过获取长度的形式来弄,但是不知道为啥${if(LEN(\'${fine_username}\') > 5,\"sql内容\",\"\")}不生效
    2023-11-24 11:32 
  • 3关注人数
  • 282浏览人数
  • 最后回答于:2023-11-24 11:30
    请选择关闭问题的原因
    确定 取消
    返回顶部