当前位置: 代码迷 >> Sql Server >> 表关联条件里边 可以用case when吗
  详细解决方案

表关联条件里边 可以用case when吗

热度:78   发布时间:2016-04-24 09:05:58.0
表关联条件里面 可以用case when吗 ?
   如表 A 关联 B   当value like 'A%' 根据  t_key  关联    否则 根据  t1_key关联   可以这么写吗? 一直报错
A:                                                              
value    t_key    t1_key          


B:
t_key   t1_key


select   A. *  from  A, B  where      (case when  A.t_value like 'A%'  then  A.t_key=B.t_key   else A.t1_key=B.t1_key  end) ; 

万分感激


------解决思路----------------------
case when  A.t_value like 'A%'  then  A.t_key=B.t_key   else A.t1_key=B.t1_key  end
===>
WHERE (A.t_value like 'A%'  AND A.t_key=B.t_key) OR (A.t_value NOT like 'A%'  AND A.t1_key=B.t1_key)
------解决思路----------------------
语法上可以,只要能用表达式的地方都能用case when
  相关解决方案