Добрый день. Задали простейшую задачку, как казалось, но так и не получилось ее решить. Требуется одним запросом из базы получить выгрузку со значениями все кроме Name 1,2 и 3 где type 1. Данных будет много от 1- до бесконечности. Сама таблица: id Name Type 1 1 1 2 2 1 3 2 3 4 3 1 5 3 2 6 1 2 7 3 null 8 1 null 9 4 1 Может кто подскажет. Заранее спасибо.
Все работает..... проверил Просто не умеете пользоваться или у вас типы полей не числовые, если это строки - то в кавычки нужно проверяемые значения ставить Код (Text): not in('1','2','3') && type='1'
Тип полей стоит int. При проверке данного запросы ответом выходит только одно значение, где name -4, а type -1.
Задача - всё кроме Name 1,2 и 3 где type 1. --- Добавлено --- в предложном варианте : 2 2 - лишнее значение 3 3 1 2 - лишнее значение 4 1
Сама таблица: id Name Type 1 1 1 - не выгружается. 2 2 1 - не выгружается. 3 2 3 - не выгружается. 4 3 1 - не выгружается. 5 3 2 6 1 2 - не выгружается. 7 3 null 8 1 null - не выгружается. 9 4 1 Да, верно, только НЕ должно быть.
Да, верно. Конечно. Потому, что оно не должно выпадать только если Name равно трем, а Type равен единице, а все остальные должны.
ADSoft дал почти правильный вариант. Должно быть так: PHP: Select * from table where not (`Name` in(1,2,3) and (`Type` = 1 and `Type` is not null)) Результат запроса будет: Код (Text): 3 2 3 5 3 2 6 1 2 7 3 null 8 1 null 9 4 1
То, то - условие выполняется "все, кроме Name 1,2 и 3 где type 1." Или меняйте условие. upd. Аааа, дошло. Сейчас напишу... --- Добавлено --- PHP: Select * from table where not(`Name` in(1,2) or (`Name` = 3 and (`Type` = 1 and `Type` is not null))) результат: Код (Text): 5 3 2 7 3 null 9 4 1 --- Добавлено --- О, romach тоже самое написал.
Большое вам спасибо! Ясно почему у меня не работало, я не совсем корректно скобки применял. Прошу простить меня за то, что задачу сформулировал не очень понятно.