将 like 与查询中的多个字符串一起使用

Using like with multiple strings from a query

如何编写查询来处理子字符串?

in很容易做到,只要匹配整个字符串即可。但是,我们如何处理部分字符串?

select *
from dbo.mastertable
where string in ( select string from dbo.slave )

您可以使用 exists 进行部分字符串匹配。我不确定这到底是什么逻辑,但我的想法是:

select *
from dbo.mastertable m
where exists (select 1
              from dbo.slave s
              where s.string like '%' + m.string + '%'
             );

这意味着 slave.string 包含 master.string