2016-10-26 14 views
1

2つのMicrosoft SQL Serverデータベースに1つずつ2つのテーブルがあります。テーブル内の列に別のテーブルの列の値が格納されているテーブルを照会します

単語の説明が上位を持つことができるように私は、それは大文字と小文字を区別になりたい 私は説明が Table2.TriggerWordテーブルから単語が含まれていると説明を返す Table1.Descriptionを照会したい
* DB 1 Table1.ID, Table1.Description, Table1.Comment 
* DB 2 Table2.TriggerWord, Table2.Category 

、triggerword、カテゴリ

、低い、コンボ。

Tables and Results Sample

私は同じデータベース上のテーブルを持っている必要がある場合、私はそのルートを行くことができます。 table2のソースがすでに別のデータベースにあるので、それを避けようとしています。これを同じデータベース上でも動作させることはできません。私はいくつかの方法を試しましたが、結果を返すことはできません。

はこれを試みたが、何の結果を得るません:それはアウトエラーではありませんでした

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

、ない結果が画像のサンプルデータに基づいていません。

何か助けていただければ幸いです。ありがとう。

+0

[悪い習慣を:古いスタイルのJOINを使用して](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx) - その古いスタイルのカンマ区切りリストANSI - ** 92 ** SQL標準(** 20年以上前**)の*適切な* ANSI 'JOIN'構文に置き換えられました。その使用はお勧めしません –

+0

あなたは本当に持っていませんあなたのSQLで二重引用符、あなたですか? – Beth

答えて

0

私はそれはあなたがやろうとしているように、テキストに基づいてテーブルを結合するのがベストプラクティスだとは思わないが、これはあなたのために働くかもしれない:キックする

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

これはうまくいった!しかし、ベストプラクティスを試してみてうれしい。より効果的な代替アプローチがありますか? – Joe

関連する問題