有两个表表A id content
001 AA:qq1111表B iid
qq1111 我写了如下语句:
select * from A left B on A.content like '%B.iid%' where B.iid='qq1111'
这样写是不正确的,
请问怎么写才对啊?谢谢指教。
001 AA:qq1111表B iid
qq1111 我写了如下语句:
select * from A left B on A.content like '%B.iid%' where B.iid='qq1111'
这样写是不正确的,
请问怎么写才对啊?谢谢指教。
SELECT *
FROM A
LEFT B ON A.CONTENT LIKE '%'||B.IID||'%'
WHERE B.IID = 'qq1111';
...
WHERE INSTR(A.CONTENT,B.IID) > 0
...
不能 Left B, 用Left join B
/--是不是这个意思?select a.id, a.content, b.iid
from A, B
where A.content = B.iid
and B.iid = 'qq1111';
应该是A.content like B.iid
---------- --------------------------------------------------------------------------------
1 AA:qq111111
2 AA:ER00239
3 BB:099qqfffSQL> SELECT * FROM B;IID
--------------------------------------------------------------------------------
qq111111
gr34566SQL> select a.* from A, B where instr(A.content, B.iid) > 0; ID CONTENT
---------- --------------------------------------------------------------------------------
1 AA:qq111111
select a.id, a.content, b.iid
from A, B
where A.content like "'%" || to_char(B.iid) || "%'";
还是8楼的好用些,试一下instr字符串查找函数吧。