select *
from table1
where exists (select 1
from table2
where table1.columA like '%' || table2.columB || '%')
然后发现还是不行 因为我要去取到不包含的部分
但是一旦notlike 就会全部取到了
所以还得配合相减
SELECT B.SERIAL_NUMBER FROM G_SN_STATUS B
MINUS
SELECT A.SERIAL_NUMBER FROM G_SN_KEYPARTS A
套用这个模板
最后的结果这么长
SELECT B.NAMELIST FROM (select replace(FILE_NAME,'.zip','') as namelist from ERB_SEND_MSG where CHANNEL_ID='srp.bapp.ioc.s.yjgoa.channel.GASendChannel') B
MINUS
SELECT A.NAMELIST FROM
(select *
from (select replace(FILE_NAME,'.zip','') as namelist from ERB_SEND_MSG where CHANNEL_ID='srp.bapp.ioc.s.yjgoa.channel.GASendChannel')table1
where exists (select 1
from (select replace(FILE_NAME,'.zip','') as name from ERB_accept_MSG where CHANNEL_ID='srp.bapp.ioc.s.yjgoa.channel.GAAcceptChannel')table2
where table1.namelist like '%' || table2.name || '%') ) A
大不了括号扩上起个别名就是子表了,没啥难度都
发现了我傻叉了使用not exists 不就行了不要用not like没有用