私は、特定の文字やワイルドカードの代わりに列全体を使用して、2つのテーブルで部分一致のSELECT
を実行しようとしています。列全体でLIKEを使用してSELECTする方法はありますが、完全一致は必要ありませんか?
私は2つのテーブル(T1、T2)と2つのカラム(T1.C1、T2.C2)を持っています。 C1とC2が正確にフォーマットされた一致である場合、私はSELECT
でリターンを得ることができますが、C2はC1からのテキスト文字列を含むテキストを一緒につなぎました。
ので、ここでは例として2つの表にフォーマットされた文字の例をいくつか紹介します。
T1.C1
- ドウ、ジョン
- スミス、スティーブ
- ロバーツ、サリー
t2.c2
- #Doe、ジョン、Thekid、ビリー、ランダムグループA
- ランダムグループB、スミス、スティーブ#ジョーンズ、アリー
- #Roberts、サリー!ランダムGroupCなど
何I 'Doe、John、Thekid、Billy、Random Group A 'のようにフォーマットされていても、T1.C1のDoe、JohnがT2.C2に見つかったときに一致するようになりたいと思っています。
ここで私は正確な一致を得るために何を使用しています...
SELECT *
FROM T1, T2
WHERE T1.C1 LIKE CONCAT('%', T2.C2 , '%');
が言うから文字列に一致しますが、名前を選択しますが、 '#'のような側面にジャンクを無視しようとしていますか?なぜLIKEを使用しないのですか$ search_value% –