当前位置: 代码迷 >> Sql Server >> 求一语句
  详细解决方案

求一语句

热度:13   发布时间:2016-04-27 12:22:44.0
【求助】求一语句
SQL code
test_item_name  pointer_condition_text  pointer_condition_text2a                                               a<1;b<=5  b c        d                   <998        


想要的结果为
SQL code
test_item_nameacd


解释:取pointer_condition_text不为空,
或者pointer_condition_text为空,但是pointer_condition_text2中不包含text_item_name的数据。


------解决方案--------------------
SQL code
with t1 as(     select 'a' c1,null c2,'a<1;b<=5' c3 from dual     union all     select 'b' c1,null c2,null c3 from dual     union all     select 'c' c1,null c2,null c3 from dual     union all     select 'd' c1,'<998' c2,null c3 from dual)select distinct c1from t1,(     select replace(regexp_substr(c3,'[^;]+',1,level),';',' ') val     from t1      connect by level<=length(c3)-length(replace(c3,';',''))+1) t2 where length(replace(val,c1,'')) < length(val) or c2 is not nullorder by c1     c1----------------1    a2    b3    d
  相关解决方案