有两张表,
a 表里有字段名为:a1,
 b 表里有字段名为:b1,
a1里存的字段值为 123
b1里存的字段值为abc,def,12a,bbbb,ddfda,fdai2,dadwerfda,123,3212344323 
注:b1里存的是一个值,即字段值就为"abc,def 12a,bbbb,ddfda,fdai2,dadwerfda,123,32144323 ",实际存的时候没有引号,
如何在WHERE条件里实现:where a.a1 in ('abc','def','12a','bbbb','ddfda','fdai2','dadwerfda','123','32144323' );

解决方案 »

  1.   

    where instr(b.b1, a.a1) > 0
      

  2.   

    通过replace 把条件替换成('abc','def','12a','bbbb','ddfda','fdai2','dadwerfda','123','32144323' )然后再通过动态sql执行
      

  3.   

    where instr(b.b1, a.a1) > 0这个是不行的。假如b.b1字符串中包含'3212344323',其中里面有“123”了,这里面不符合要求
      

  4.   

    instr(',' || b.b1 || ',',',' || a.a1 || ',')>0