Лучший способ написать запрос SQL со многими операционными - PullRequest
2 голосов
/ 09 октября 2011

У меня есть список или категория цветов.

Category: Red, Blue, Green, ... //At least 9 for one category

А в моей таблице MySQL есть такие записи:

id  |  color
--  |  -----
 1  |  Red
 2  |  Black
 3  |  Green
 4  |  Purple
 .      .
 .      .

Я хочу получить id с color из моей категории. По-моему, сейчас я структурирую свой запрос ... WHERE color = 'Red' OR color = 'Blue' OR ..., что приведет к длинному (как минимум 9) списку OR с.

Я думаю, что что-то упустил. Должен быть лучший способ.

Ответы [ 2 ]

3 голосов
/ 09 октября 2011

Использование IN. Из документации:

expr IN (value,...)

Возвращает 1, если expr равен любому из значений в списке IN, иначе возвращает 0.

Ваш запрос может быть изменен на:

WHERE color IN ('Red', 'Blue', ... )
2 голосов
/ 09 октября 2011

Попробуйте использовать ключевое слово

IN

например

SELECT * 
FROM   myTable
WHERE  color IN ('Red', 'Blue')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...