T-SQL包含来自子查询的搜索条件

时间:2017-11-16 10:18:50

标签: tsql

我有一个包含搜索值的表,并希望使用CONTAINS来搜索具有这些值的另一个表。要搜索的表包含电子邮件数据。

SEARCHTABLE
ID     VALUE
1      '*domain1.com'
2      '*domain2.co.uk'

EMAILTABLE

ID     SENDER                 BODY
1      'fred@domain1.com'     'body text of email'
2      'frank@domain1.com'    'body text of email'
3      'bob@domain3.net'      'body text of email'

有没有办法在子查询中使用SEARCHTABLE中的值构建一个搜索EMAILTABLE的查询,即相当于:

SELECT * FROM EMAILTABLE where CONTAINS (sender, '*domain.com OR *domain2.co.uk'

如果有任何帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

试试这样:

SELECT EMAILTABLE.* 
FROM EMAILTABLE 
INNER JOIN SEARCHTABLE ON  EMAILTABLE.SENDER LIKE '%'+REPLACE(SEARCHTABLE.Value,'*','')+'%'