2009-08-21 7 views
3

列A、列B、および列Cを含む表があるとします。列Aまたは列Bまたは列Cのいずれかの値が一定のすべての行を選択する問合せを作成するにはどうすればよいですか。ありがとう。いくつかの列のうちの1つが特定の値と等しい行を選択する方法はありますか?

更新:私の混乱については言わなかったと思います。他の列(列1)があり、次のロジックに基づいて選択する必要があるとします。

...ここで、Column1 = '..' AND(ColumnA = '..' OR ColumnB = '..' OR上記のように括弧でグループ化して、目的のロジックを得ることは有効ですか?

+1

あなたの編集に答えるために、はい括弧がグループ化を強制します。 – EBGreen

+0

はい、かっこが有効です。 – Degan

+0

あなたのアップデートに基づいて、正しく動作させたい場合は、かっこを使用する必要があります* –

答えて

5

私はここで何かが欠けていない限り...

SELECT * FROM MYTABLE WHERE COLUMNA=MyValue OR COLUMNB=MyValue OR COLUMNC=MyValue 
+2

またはMyValue IN(COLUMNA、COLUMNB、COLUMNC) – Rahul

3
SELECT * 
FROM myTable 
WHERE (Column1 = MyOtherValue) AND 
     ((ColumnA = MyValue) OR (ColumnB = MyValue) OR (ColumnC = MyValue)) 
5

私ははい、それは括弧を使用するために有効なのですそのすっきり

select * 
from mytable 
where 
myvalue in (ColumnA, ColumnB, ColumnC) 
2

としてこの方法を好みます。ただし、複数の列を同じ値で検索する場合は、データベースを正規化することを検討することをお勧めします。

+0

+1、私は完全にそれを逃した! ColumnA-ColumnB-ColumnCはemailA-EmailB-EmailCであれば私を捨てました –

関連する問題