sql判断

原来的基础语句没有判断: SELECT  *  FROM bigdata.GLR_B_ORG_INFO

 where 

 

 (org_cd=(select  org_cd  from   bigdata.GLR_B_ORG_INFO

          where  org_id= '${a}')  

 

 or 

 

parent_org_cd =(select  org_cd  from   bigdata.GLR_B_ORG_INFO

 

          where   org_id='${a}'))

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

//注释:'${a}'这个参数是 获取登录用户的机构  这个没问题了

在这个基础上加一个判断: 现在有个特例 当登录用户的机构对应的flag=1时候   要直接返回   SELECT  *  FROM  bigdata.GLR_B_ORG_INFO  WHERE  flag=1    的结果 。

     当flag!=1的时候   执行   SELECT  *  FROM bigdata.GLR_B_ORG_INFO    where (org_cd=(select  org_cd  from   bigdata.GLR_B_ORG_INFO  where  org_id= '${a}')  or parent_org_cd =(select  org_cd  from   bigdata.GLR_B_ORG_INFO  where   org_id='${a}'))  的结果图片1.png

FineReport 15764373317 发布于 2021-3-23 18:48
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
li_zuiLv5见习互助
发布于2021-3-23 19:16(编辑于 2021-3-23 19:18)

image.png

已经获取到了登录用户的机构 a,那么就再写一个数据集,这里根据登录用户得到的机构a获取flag值,保存在一个参数B中

SELECT *

  FROM bigdata.GLR_B_ORG_INFO

 where 1=1

   ${if(b == 1,"and (org_cd=(select  org_cd  from   bigdata.GLR_B_ORG_INFO where  org_id= '"+a+"')   or

        parent_org_cd =(select  org_cd  from   bigdata.GLR_B_ORG_INFO where   org_id='"+a+"'))","and flag = 1")}

  • 2关注人数
  • 300浏览人数
  • 最后回答于:2021-3-23 19:18
    请选择关闭问题的原因
    确定 取消
    返回顶部