2016-10-26 9 views
1

Ich habe zwei Tabellen, jeweils eine in zwei Microsoft SQL Server-Datenbanken.Abfrage einer Tabelle, in der eine Spalte in dieser Tabelle einen Wert aus einer Spalte in einer anderen Tabelle enthält

* DB 1 Table1.ID, Table1.Description, Table1.Comment 
* DB 2 Table2.TriggerWord, Table2.Category 

Ich mag Table1.Description abfragen, wo die Beschreibung ein Wort aus der Table2.TriggerWord Tabelle enthält und die Rück Beschreibung, triggerword, Kategorie

ich es Groß- und Kleinschreibung sein möchte, wie das Wort Beschreibung obere haben könnte , niedriger, kombiniert.

Tables and Results Sample

Wenn ich die Tabellen auf der gleichen Datenbank haben habe, kann ich diesen Weg gehen. Versuchen Sie dies zu vermeiden, da meine Quelle für table2 bereits in einer separaten Datenbank ist. Dies kann auch nicht in der gleichen Datenbank funktionieren. Ich habe einige Wege ausprobiert und kann keine Ergebnisse liefern.

dies versucht, aber keine Ergebnisse erhalten:

SELECT   
    Table1.id, Table1.Description, Table2.TriggerWord, 
    Table2.Category 
FROM    
    Table1, Table2 
WHERE   
    (Table1.Description LIKE '%" & Table2.TriggerWord & "%') 

Es nicht geklappt hat Fehler, aber keine Ergebnisse auf den Beispieldaten im Bild basieren.

Jede Hilfe wird geschätzt. Vielen Dank.

+0

[Schlechte Gewohnheiten zu treten: mit altem Stil JOIN ] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx) - diese altmodische * durch Kommas getrennte Liste von Tabellen * style wurde durch die * richtige * ANSI 'JOIN'-Syntax im ANSI - ** 92 ** SQL-Standard (** vor mehr als 20 Jahren **) ersetzt und es wird davon abgeraten, –

+0

nicht wirklich zu haben doppelte Anführungszeichen in Ihrem SQL, oder? – Beth

Antwort

0

Ich glaube nicht, ist es am beste Praxis ist Tabellen auf Text basierten zu verbinden, wie Sie zu tun versuchen, aber dies könnte für Sie arbeitet:

SELECT Table1.id, Table1.Description, Table2.TriggerWord, Table2.Category 
FROM Table1 
JOIN Table2 ON Table1.Description LIKE '%'+ Table2.TriggerWord +'%' 
+0

Das hat funktioniert! Freut mich jedoch, eine Best Practice auszuprobieren. Gibt es einen alternativen Ansatz, der besser funktioniert? – Joe

Verwandte Themen