2016-10-03 20 views
0

このスレッドとまったく同じ要件があります。 How to use JOIN LIKE with AND Operator in SQL Server?SQL Server 2012で 'AND'演算子を使用したLIKE句

私は数時間ネットを検索しているにもかかわらず、無知でした。

私は、 'Value'カラムと 'Value1'と 'Value2'という2つのレコードを持つテーブル 'varchar'を持っています。

Select * From MasterTable 
Inner Join Filter ON MasterTable.Name LIKE '%' + Filter.Value + '%' 

このクエリは次のことを意味します

Select * From MasterTable 
Where MasterTable.Name LIKE '%Value1%' OR MasterTable.Name LIKE '%Value2%' 

が今どのように私はその意味していないなど、JOIN変更できますか?次のようなもの:

Select * From MasterTable 
Where MasterTable.Name LIKE '%Value1%' AND MasterTable.Name LIKE '%Value2%' 

誰かが私に道を見せることができますか?

答えて

2

あなたは、一般的に、「Xが一致しないYを持っていない」として、クエリ「Xは、すべてのYと一致した」書き換えることができます - Y.

select * 
from MasterTable 
where not exists (
    select 1 
    from Filter 
    where MasterTable.Name not like '%' + Filter.Value + '%' 
) 
の逆のため、または他の言葉で NOT EXISTSクエリを
関連する問題