我想选择其中字段包含来自其他字段的值的所有记录。我怎么做?这是我正在尝试的代码。
select field1 , field2, field3
from table1
where field1 like '%'+(select distinct field4 from table2)+'%'
提前谢谢。
答案 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返回一行。