我有一个包含搜索值的表,并希望使用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'
如果有任何帮助,我将不胜感激。
答案 0 :(得分:0)
试试这样:
SELECT EMAILTABLE.*
FROM EMAILTABLE
INNER JOIN SEARCHTABLE ON EMAILTABLE.SENDER LIKE '%'+REPLACE(SEARCHTABLE.Value,'*','')+'%'