数据源是在同一个数据库,报表查看分三级权限

各位大佬,关于权限的问题我想咨询一下。现在做了一份报表。

其中包括三个用户,业务员,小领导,大领导。

业务员看自己的明细与总结,小领导看各个业务员的明细总结,大领导看各个小领导的总结。

能不能把这三个用户的权限做到一张数据表里再通过sql语句实现?

还是要做多个表啊?

现在可以通过SQL语句实现业务员和小领导的数据了。但是大领导的查不出来

SELECT * FROM `zhangkuan` where ywy in (select ywy from sys_ss where test2='${fine_unsername}')

FineReport lishiyao 发布于 2020-8-18 11:41 (编辑于 2020-8-18 11:47)
1min目标场景问卷 立即参与
回答问题
悬赏:5 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
zjc@Lv3初级互助
发布于2020-8-18 15:58

设计一张用户表就够了

--创建用户表

create table user_rol

(user_code VARCHAR(10),  --员工编号

user_rol varchar(30),    --角色(这个字段可不用)

belong_lead varchar(10)  --所属领导编号

);


数据集sql:

SELECT * FROM `zhangkuan` where ywy in(

select coalesce(b.user_code,'${fine_unsername}') underling from user_rol a left join user_rol b on a.user_code=b.belong_lead  --使用自连接查询下属

where a.user_code='${fine_unsername}')


最佳回答
0
snrtuemcLv8专家互助
发布于2020-8-18 11:44

你可以做一张表,设置一列,记录创建人员,以后查询数据,根据创建人员筛选就可以了

最佳回答
0
axingLv6专家互助
发布于2020-8-18 11:44
  • lishiyao lishiyao(提问者) 星哥,能不能一张表就实现了三级权限啊
    2020-08-18 14:23 
  • axing axing 回复 lishiyao(提问者) 可以,按文档那样写参数来过滤就行了
    2020-08-18 14:36 
最佳回答
0
nankLv2见习互助
发布于2020-8-18 12:40

你需要做两张表,一张用户角色表, 一张角色表,用户角色表主要记录 用户及其对应的角色,角色表记录角色及其对应的上级角色。

查询的话 只要找对应角色的下级角色所对应用户即可。

  • lishiyao lishiyao(提问者) 那就是业务员和小领导,小领导和大领导这样吗 查询查业务员吗
    2020-08-18 14:21 
最佳回答
0
胡澳辉Lv4见习互助
发布于2020-8-18 13:56

你在做数据的时候直接把数据分三级汇好,分别加上标识,如1,2,3 ,在在增加一张用户表,大领导 3,小领导2 ,业务员 1 ,两张表关联一下

  • 5关注人数
  • 525浏览人数
  • 最后回答于:2020-8-18 15:58
    请选择关闭问题的原因
    确定 取消
    返回顶部