2017-03-15 19 views
0

私は、1つの値を持つ複数の列を連結することが可能であることを知っています。複数の値で複数の列を検索するSQL

私は4つの多分5つの値

のための3-4の列をserachしたいと思い、私は私の選びだした列のいずれかが、それらの特定の値を持っているかどうかを確認したいです。例では

Column 1 | Column 2 | Column 3 | Column 4 
     |   |   | 
Hello |   |   |   = True 
     |   |   | 
     | Goodbye |   |   = True 
     |   | Hello | Goodbye = True 
     |   |   | 
     | Hello |   |   = True 
     |   |   | 
     |   | Goodbye |   = True 

私もいくつかのケースでは、両方のHelloまたはさようならを持つすべての行からデータを取得するSQLをしたいと思います。

私がしたいことをする方法はありますか?

答えて

1

もう一つの方法があります...

SELECT * 
FROM TableName 
WHERE 'Value1' IN (Col1,Col2,Col3...) OR 'Val2' in (Col1,Col2,Col3...) OR ... 
1

それだけで3または4列なら、最も簡単な解決策は、このようなものになるだろう:

SELECT * 
FROM TableName 
WHERE Column1 IN('Hello', 'Goodbye') 
OR Column2 IN('Hello', 'Goodbye') 
OR Column3 IN('Hello', 'Goodbye') 
OR Column4 IN('Hello', 'Goodbye')