权限关联问题

数据库中有一表数据  table,其中包含字段 com(部门),A用户可查询多个com(部门)的数据,我的实现思路是分配角色,给A用户多个角色,然后使用SQL:

select * from table

where com in('$fine_role')

-----------------------------------

经测试,角色赋权:X\Y\Z,则语句为:

 

select * from table

where com in('X,Y,Z')   值间不正确,无法实现'X','Y','Z'

这样测试查询不出数据。

-----------------------------------

请问有什么好办法可以实现这个需求吗?

select * from table

where com in('${com}')

设置模版参数的办法也试了:

参数名:com

参数内容:sql("finedb","select c.alias from fine_user a,fine_user_role_middle b,fine_custom_role c where a.id=b.userid and b.roleId=c.id and username='"+$fine_username+"'",1)

SQL 用户69539591 发布于 2023-5-30 19:52 (编辑于 2023-5-31 11:53)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-5-31 11:57

这个需要你处理下分隔符的

如果你返回是,这个格式1,2,3   那就是,换成','  

例如

select * from table

where com in('${replace(fine_role,",","','")}')

  • 1关注人数
  • 226浏览人数
  • 最后回答于:2023-5-31 11:57
    请选择关闭问题的原因
    确定 取消
    返回顶部