权限控制问题:

select md,mdmc,rq,loudong,louceng,sum(xsbs)xsbs,sum(xszje)xszje from sale_daily

where rq='${日期}'

and md='${门店}'

and 1=1 ${if( len(fine_username)== 0  , "",  "and md in (select md from jhyb_user where name = '"+fine_username+"'  ) and louceng in (select louceng from jhyb_user where

  md='${门店}'   这句是不是不能这样写??没有这句是不报错的,但是效果不对。

and   name = '"+fine_username+"'  )"  )}

group by md,mdmc,rq,loudong,louceng

以上是权限控制代码,我想达到的效果是在用户表jhyb_user下面指定门店MD下面指定楼层louceng的权限,去掉标红的这个md='${门店}' and,语句是没报错,但是效果有点问题,现在是只要在用户表里有的门店和楼层都有权限(比如这个用户在A门店1F,B门店2F,结果变成A门店1F 2F,B门店1F 2F了,要的效果只要A门店1F,B门店2F)

应该怎么表示,感谢。

FineReport ysbin 发布于 2022-10-28 08:53 (编辑于 2022-10-28 10:26)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
用户k6280494Lv6资深互助
发布于2022-10-28 09:09(编辑于 2022-10-28 11:27)

截图说明一下把,你这光文字看的有点懵

select md,mdmc,rq,loudong,louceng,sum(xsbs)xsbs,sum(xszje)xszje from sale_daily

where rq='${日期}'

and md='${门店}'

${if( len(fine_username)=0 ,"", "and louceng in (select louceng from jhyb_user where md='"+门店+"' and  name = '"+fine_username+"' )")}

group by md,mdmc,rq,loudong,louceng

  • ysbin ysbin(提问者) 已补充,权限表里YS01只有 1F的权限,但是查询出来是这个用户所有门店所有楼层的权限,就是楼层怎么再往上关联一下门店
    2022-10-28 10:20 
  • 用户k6280494 用户k6280494 回复 ysbin(提问者) 看新回答,按钮截图,sql应该是这样的
    2022-10-28 10:30 
  • ysbin ysbin(提问者) 不是的,这样没有控制楼层,我有张用户对应的门店和楼层表,你没用上
    2022-10-28 11:20 
  • 用户k6280494 用户k6280494 回复 ysbin(提问者) 来直接远程吧
    2022-10-28 11:22 
  • 用户k6280494 用户k6280494 回复 ysbin(提问者) 看新的答案,要是还不行,就远程帮你看一下
    2022-10-28 11:28 
  • 2关注人数
  • 286浏览人数
  • 最后回答于:2022-10-28 11:27
    请选择关闭问题的原因
    确定 取消
    返回顶部