有表结果和数据如下
a表:
id name area ...1111 test 7||6||12||16||30 ...
...
...
...b表:area_id area_type ...
7 北京 ...
6 上海 ...
5 天津 ...
...
...
...我想要把所有b表中符合a表的area字段值的所有b表的记录筛选出来该怎么实现?我的猜想SQL是: select * from a,b
where (a.area is not null or '|'+area+'|' like '%|'+area_id+'%|')一条SQL中具体该怎么实现呢?有什么函数可以拼接出我想要的SQL呢?
a表:
id name area ...1111 test 7||6||12||16||30 ...
...
...
...b表:area_id area_type ...
7 北京 ...
6 上海 ...
5 天津 ...
...
...
...我想要把所有b表中符合a表的area字段值的所有b表的记录筛选出来该怎么实现?我的猜想SQL是: select * from a,b
where (a.area is not null or '|'+area+'|' like '%|'+area_id+'%|')一条SQL中具体该怎么实现呢?有什么函数可以拼接出我想要的SQL呢?
b.*
from
a,b
where
'|'||a.area||'|' like '%|'||to_char(b.area_id)||'%|'
select
b.*
from
a,b
where
'|'||a.area||'|' like '%|'||to_char(b.area_id)||'|%'
b.*
from
a,b
where
instr('|'||a.area||'|' , '|'||to_char(b.area_id)||'|')>0