如何使用来自另一个字段的多个值的 LIKE 语句?

How to use LIKE statement with multiple values from another field?

我想 select 字段包含来自另一个字段的值的所有记录。我怎么做?这是我正在尝试的代码。

select field1 , field2, field3 
from table1
where field1 like '%'+(select distinct field4 from table2)+'%'


提前致谢。

加入条件就按你喜欢的去做:

select field1 , field2, field3 
from table1
join (select distinct field4 from table2) x
  on field1 like '%'+field4+'%'

使用查询的原始结构,您可以:

select field1, field2, field3 
from table1 t1
where exists (select 1
              from table2
              where t1.field1 like '%' + field4 + '%'
             );

这种方法的优点是不会重复table1中的记录。例如,如果 table2 中有两行的值分别为 'a''b',而 table1 中的一行的值为 'ab',则此方法只会 return 来自 table1 的行一次。