比如一个表a里字段1是value,字段2里是name,另一个表b里字段使用多条a表里数据,怎么根据b表里的数据查询a表的name,如下图所示a表b表
------解决思路----------------------
SELECT A.NAME FROM A,B WHERE INSTR(B.F10,A.VALUE)>0
------解决思路----------------------
字符串前后处理下更严格一点
SELECT A.NAME FROM A,B WHERE INSTR(','
------解决思路----------------------
B.F10
------解决思路----------------------
',',','
------解决思路----------------------
A.VALUE
------解决思路----------------------
',')>0
------解决思路----------------------
楼上正解。
SELECT A.NAME FROM A,B WHERE INSTR(','
------解决思路----------------------
B.F10
------解决思路----------------------
',',','
------解决思路----------------------
A.VALUE
------解决思路----------------------
',')>0
------解决思路----------------------
这样也可以:
select a.value,a.name from TABLE_A a where a.value in (select b.f10 from TABLE_B b)
------解决思路----------------------
SELECT A.NAME FROM A,B WHERE INSTR(B.F10,A.VALUE)>0 一楼的这个是可以的。又学习到一个新知识点instr
语法如下:instr( string1, string2 [, start_position [, nth_appearance ] ] )
参数分析:string1源字符串,要在此字符串中查找。
string2要在string1中查找的字符串.
start_position代表string1 的哪个位置开始查找。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索
nth_appearance代表要查找第几次出现的string2.
例如:SELECT instr('syranmo','ra') FROM dual; -- 返回 3