2016-05-10 4 views
1

私は以下のスクリーンショットの出力でサンプルクエリを取得しています。複数の値の「好き」条件は、SQLでカンマで区切って

サンプルクエリとその出力 enter image description here

しかし、私は、条件「のように」を使用して、単一の行に書かれたクエリと同じ出力に含まを得ることになっています。私は自分のベストを試してみましたが、また、私は以下しようとしているものを添付した:クエリの

スクリーンショットは、あなたの割り当てのパラメータがありますが、これは同じを生成するために動作するものを全くわからない

enter image description here

+1

「IN」オペラ代わりにtor。 –

+0

@ AllanS.Hansenそのようなベースの検索は、動作しますか? – VinayVeluri

+1

@Geethaあなたはこれまでにチェックしたチャンスがありましたか?http://stackoverflow.com/questions/1865353/combining-like-and-in-for-sql-server – VinayVeluri

答えて

1

を試してみました結果。

Select * 
From City 
Where City like '%Salem%' 
or City like '%Chennai%' 
or City like '%Bangalore%' 
0

のIN演算子を使ってみてください -

Select * 
From City 
Where City IN ('Salem','Chennai','Banglore') 
0

あなたは答えの1で述べたように、複数のOR条件を使用しなければならないでしょうかあなたが行うことができます

SELECT * 
FROM (
    VALUES ('Chennai') 
     ,('Chennai,Bangalore') 
     ,('Bangalore') 
     ,('Bangalore,Salem') 
     ,('Salem') 
     ,('Covai,Salem') 
     ,('Chennai,Covai,Salem') 
     ,('Chennai,Bangalore,Covai,Salem') 
    ) T(city) 
WHERE city LIKE '%' 
    OR city LIKE '%' + REPLACE(city, ',', '%')+'%' 
+1

'city LIKE '%''はすべてのレコードを返します'都市'はヌルではありません... –

0

、次のように試してみてくださいこの

WITH data as 
(
SELECT'%Salem%' as city 
union all 
SELECT'%Chennai%' as city 
union all 
SELECT'%Bangalore%' as city 
) 

SELECT DISTINCT c.* FROM city c INNER JOIN data d ON c.city like d.city 
+0

ほとんど同じで、架空の都市 'セーラムバンガロール'を考えてください。 (またはYorkとNew York。) – jarlh

+0

私は 'DISTINCT'を追加しました。重複した行は返されません。 @jarlh – Sam

関連する問題