有表1,表2。想根据不同用户查询表2输出表1不同内容 ,表1表2共有字段bm
权限控制在表2。根据用户名来取,三个字段用户名,权限级别,部门。权限为1就取表1全部,权限为2就返回权限表的bm来取表1
select * from 表1 ttt
where exists (
select 1 from 表2
where 用户名='${fine_username}'
and (权限级别='1' or bm=ttt.bm)
)
自己想想你这个需求是不是本身就存在问题,如果表1是这样的,你要查询什么结果
——————————————————————————————————————
虽然没太看懂,但是感觉你这个是可以用union来合并两个不同条件SQL的结果
where IF((select 权限级别 from 表2 where 用户=登录用户 order by 权限级别 limit 1)=1,1=1,IF((select 权限级别 from 表2 where 用户=登录用户 order by 权限级别 limit 1)=2,bm IN (select distinct bm from 表2 where 用户=登录用户),1=0))