17,140
社区成员




UPDATE B
SET B.NAME = (SELECT A.NO
FROM A
WHERE INSTR(B.NAME, A.NAME) > 0
AND ROWNUM = 1)
WHERE EXISTS (SELECT A.NO
FROM A
WHERE INSTR(B.NAME, A.NAME) > 0
AND ROWNUM = 1);
[Quote=引用楼主 sun_in_china 的帖子:]
select id,name from d
1 张三
2 李四
3 王五
select name from e
李
张
王五
三
四
--sql:
select id,b,a
from
(select id,d.name b,e.name a,
(case when instr(d.name,e.name)>0 then id end ) nn
from d,e
)
where nn is not null
--result:
2 李四 李
1 张三 张
3 王五 王五
1 张三 三
2 李四 四
update b set b.name =(select a.no from a where instr(b.name,a.name)>0 );
update b set b.name =(select a.no from a where instr(a.name,b.name)>0 );
update b set b.name= (select a.no from a where instr(a.name,b.name)>0 or instr(b.name,a.name)>0)