逻辑判断

想实现根据用户角色,过滤相应的城市,比如:

当用户A的角色是角色1时,不进行过滤,显示全部,当用户A的角色是角色2时,获取他的部门作为过滤条件。

用case when 如何写sql?

柒年呀 发布于 2021-5-24 10:58
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
xiaomingyiLv6中级互助
发布于2021-5-24 11:04(编辑于 2021-5-24 11:19)
  • 柒年呀 柒年呀(提问者) 有没有if可实现的写法
    2021-05-24 11:17 
  • xiaomingyi xiaomingyi 回复 柒年呀(提问者) 就是写if,看下我写的,类似
    2021-05-24 11:19 
  • xiaomingyi xiaomingyi 回复 柒年呀(提问者) 你这里就是直接用FR内置的角色参数就行判断就行了
    2021-05-24 11:20 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-5-24 11:01(编辑于 2021-5-24 11:24)
  • 柒年呀 柒年呀(提问者) 有没有if可实现的写法
    2021-05-24 11:17 
  • Z4u3z1 Z4u3z1 回复 柒年呀(提问者) 有 那你得先像 梦想的初衷 一样经历权限表,然后假定查询出来的权限放A1,然后改SQL,大概意思如图
    2021-05-24 11:24 
最佳回答
0
梦想的初衷Lv7初级互助
发布于2021-5-24 11:06

做一个这样的对应表就行,将角色和城市关联起来

image.png

  • 柒年呀 柒年呀(提问者) 有没有if可实现的写法
    2021-05-24 11:17 
  • 梦想的初衷 梦想的初衷 回复 柒年呀(提问者) 角色少可以用,角色多了还是推荐建一个关系表
    2021-05-24 11:23 
  • 梦想的初衷 梦想的初衷 回复 柒年呀(提问者) ${if(角色=\"1\",\" select * FROM 表1 \",\" \")} ${if(角色=\"2\",\" select * FROM 表2 \",\" \")}
    2021-05-24 11:25 
  • 梦想的初衷 梦想的初衷 回复 柒年呀(提问者) 把 \\ 都去掉,回复系统自己添加了转义符号
    2021-05-24 11:31 
  • 3关注人数
  • 443浏览人数
  • 最后回答于:2021-5-24 11:24
    请选择关闭问题的原因
    确定 取消
    返回顶部