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

时间:2015-03-21 10:28:43

标签: sql sql-server-2008 compare sql-like

我想选择其中字段包含来自其他字段的值的所有记录。我怎么做?这是我正在尝试的代码。

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


提前谢谢。

2 个答案:

答案 0 :(得分:1)

将你的喜欢作为一个加入条件:

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

答案 1 :(得分:0)

使用查询的原始结构,您可以执行以下操作:

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

此方法的优点是它不会复制table1中的记录。例如,如果table2中有两行分别为'a''b',而table1中有一行的值为'ab',则此方法只会从table1返回一行。