case when 参数联动问题.


image.png

公司分类是 总部,直属分公司 联营分公司

归属机构是'总部','设计院','事业部' '辽宁分公司','粤东分公司','山东分公司','海南分公司','安徽分公司','重庆分公司','上海分公司','云南分公司','新疆分公司','湖北分公司'


因为数据库没有公司分类这一数据列,用

(case 

when guishujigou in ('总部','设计院','事业部')  then '总部'

when guishujigou in ('辽宁公司','粤东公司','山东公司','海南公司') then '直属分公司'

when guishujigou in  ('重庆分公司','上海分公司','云南分公司','湖北分公司') then '联营分公司'

end

) as fenlei , 


用where 进行筛选时,会产生错误,无法达到参数联动,有哪位大哥提点下

FineReport saitey 发布于 2019-6-21 15:26
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
张洪威Lv6高级互助
发布于2019-6-21 15:36

第一个会提示报错,再外面嵌套一层才能引用别名。


SELECT id ,(case 

when id>190 then 'a'

when id<=190 then 'b'

end ) num

FROM ZZ_OrderDeliver

where  num='a'



select * from   (SELECT id ,(case 

when id>190 then 'a'

when id<=190 then 'b'

end ) num

FROM ZZ_OrderDeliver ) t

where t.num='a'


最佳回答
0
先知Lv5见习互助
发布于2019-6-21 15:28

建一個視圖或者臨時表,

  • 3关注人数
  • 849浏览人数
  • 最后回答于:2019-6-21 15:36
    请选择关闭问题的原因
    确定 取消
    返回顶部