2017-11-16 4 views
1

Ich habe eine Tabelle mit Suchwerten und möchte mit CONTAINS eine andere Tabelle mit diesen Werten suchen. Die zu durchsuchende Tabelle enthält E-Mail-Daten.T-SQL CONTAINS mit Suchbedingung von Unterabfrage

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

EMAILTABLE 

ID  SENDER     BODY 
1  '[email protected]'  'body text of email' 
2  '[email protected]' 'body text of email' 
3  '[email protected]'  'body text of email' 

ist es eine Möglichkeit, eine Abfrage der Suche im EMAILTABLE mit den Werten in der Searchtabelle in einer Unterabfrage heißt das äquivalent zu bauen:

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

ich für jede mögliche Unterstützung mit diesem dankbar wäre.

+0

Sie müssen 'LIKE' verwenden, um mit' '%' 'als Platzhalter statt' '*' ' –

Antwort

0

wie Try this:

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

perfekt. Ich hätte das selbst herausfinden sollen. Danke für Ihre Hilfe –