Страницы

Поиск по вопросам

пятница, 21 июня 2019 г.

Выборка из БД если поле принимает одно из перечисленных значений

Столкнулся с проблемой - в таблице есть, к примеру, поле color, в которое может быть записано число от 1 до 12, и есть поле sect - в него записывается произвольный численный id. Хочу сформировать запрос по типу:
$tmp = mysql_query("SELECT * FROM gone WHERE color = '1' OR color = '2' OR color = '4' AND sect = '5'");
при том, чтобы выборка производилась, если sect = 5, а color равен либо 1 либо 2 либо 4. Можно ли такое?


Ответ

У вас не совсем верный запрос. У вас будет условие в виде "color=1 или color=2 или (color=4 и одновременно sect=5)", т.е. sect будет действовать только на color=4. Для того, чтобы распространилось на все, надо взять в скобки.
Верный запрос будет как:
SELECT * FROM gone WHERE (color = 1 or color = 2 or color = 4) and sect = `5`

Комментариев нет:

Отправить комментарий