请教个问题 case when 弄出来的分类,优化到表中,再关联这张维表使用,其中 case when no like 部分怎么优化到维表?

0
已邀请:
0

jsjhegang 2016-09-26 回答

使用 case when 时需注意一点如果前面的when条件满足了后面的便不再执行
如:
case when zidian='A' then '1'
     when ziduan='B' then '2'
     when ziduan like 'C%' then '3'
     when ziduan not like 'D%' then '4'
else '5' end
 
这时候如果ziduan='CAB' 输出结果是3而不会是4,虽然看上去第四行满足但是执行完第三行后已经结束了不会接着往下面执行 
0

- 取是能力,舍是境界 2016-09-27 回答

1、修改原表中的分类,通常源数据应该是不允许动的
2、将not like的分类,全部在分类表中映射一遍,也就是多行对应同一个的分类。如果源表not like的太多此方法不可取
3、关联的时候用left join关联,关联不到的全部认为是not like的处理。这种方式比较可取

要回复问题请先登录注册