Как выбрать строку, в которой один из нескольких столбцов равен определенному значению? - PullRequest
3 голосов
/ 22 августа 2009

Скажем, у меня есть таблица, включающая столбец A, столбец B и столбец C. Как мне написать запрос, который выбирает все строки, в которых столбец A ИЛИ столбец B ИЛИ столбец C равен определенному значению? Спасибо.

Обновление: Думаю, забыл упомянуть о моем замешательстве. Скажем, есть еще один столбец (столбец 1), и мне нужно выбрать на основе следующей логики:

... где Column1 = '..' AND (ColumnA = '..' ИЛИ ​​ColumnB = '..' ИЛИ ​​ColumnC = '..')

Допустимо ли группировать операторы, как я делал выше, с круглыми скобками, чтобы получить желаемую логику?

Ответы [ 4 ]

5 голосов
/ 22 августа 2009

Я предпочитаю этот способ, как его аккуратнее

select *
from mytable
where
myvalue in (ColumnA, ColumnB, ColumnC)
5 голосов
/ 22 августа 2009

Если я не пропустил что-то здесь ...

SELECT * FROM MYTABLE WHERE COLUMNA=MyValue OR COLUMNB=MyValue OR COLUMNC=MyValue
3 голосов
/ 22 августа 2009
SELECT *
FROM myTable
WHERE (Column1 = MyOtherValue) AND
      ((ColumnA = MyValue) OR (ColumnB = MyValue) OR (ColumnC = MyValue))
2 голосов
/ 22 августа 2009

Да, допустимо использовать круглые скобки. Однако, если вы ищете в нескольких столбцах одно и то же значение, вы можете подумать о нормализации базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...