sql改动

with e as (select a.用户,a.角色,b.权限1  from 

HD_test2 a 

join HD_test1 b on a.角色=b.角色


),

f as (select e.角色,e.用户,d.城市,

case when d.城市 like '%集团%' then '1'

case  d.城市  like '%物业公司%' then '2'

case d.城市 like '%恒大%' then '3' else '0'

end as 'A',

d.指标,d.金额,d.类别 from 经营云南多指标 d 

left join e on 权限1=d.城市

where 指标='1-7月累计收入' and e.用户='${fr_username}'

 ${if(len(province2)=0||province2 = '集团',"and 城市='集团'","and 城市='"+province2+"'")}

)

select *from f where A=(select min(A) from f)     

这个sql用子查询怎么写,


1458709551 发布于 2019-11-12 19:47
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
zsh331Lv8专家互助
发布于2019-11-12 20:10(编辑于 2019-11-12 20:11)
select *
from (select e.角色, e.用户, d.城市, case when d.城市 like '%集团%' then '1'

    case d.城市 like '%物业公司%' then '2'

    case d.城市 like '%恒大%' then '3' else '0'

    end as 'A',

    d.指标, d.金额, d.类别 from 经营云南多指标 d

    left join (select a.用户, a.角色, b.权限1 from

    HD_test2 a

    join HD_test1 b on a.角色 = b.角色

    e
    ) a on 权限1 = d.城市

    where 指标 = '1-7月累计收入' and e.用户 = '${fr_username}'

    ${if(len(province2)=0||province2 = '集团',"and 城市='集团'","and 城市='"+province2+"'")}) f
where A = (select min(A)
           from (select e.角色, e.用户, d.城市, case when d.城市 like '%集团%' then '1'

               case d.城市 like '%物业公司%' then '2'

               case d.城市 like '%恒大%' then '3' else '0'

               end as 'A',

               d.指标, d.金额, d.类别 from 经营云南多指标 d

               left join (select a.用户, a.角色, b.权限1 from

               HD_test2 a

               join HD_test1 b on a.角色 = b.角色

               e
               ) a on 权限1 = d.城市

               where 指标 = '1-7月累计收入' and e.用户 = '${fr_username}'

               ${if(len(province2)=0||province2 = '集团',"and 城市='集团'","and 城市='"+province2+"'")}) f) m


  • 2关注人数
  • 199浏览人数
  • 最后回答于:2019-11-12 20:11
    请选择关闭问题的原因
    确定 取消
    返回顶部