MySQL получить все, кроме если - PullRequest
0 голосов
/ 04 июня 2009

У меня есть таблица MySQL, и я хочу извлечь все строки, кроме случаев, когда столбец содержит определенное значение. Возможно ли это?

Структура моей таблицы

+----+------+------+------+
| ID | col1 | col2 | col3 |
+----+------+------+------+
|  1 | blah | blah | boo  |
+----+------+------+------+
|  2 | blah | blah | blah |
+----+------+------+------+
|  3 | blah | blah | boo  |
+----+------+------+------+

Так что, если col3 содержит boo, не извлекайте это:

+----+------+------+------+
| ID | col1 | col2 | col3 |
+----+------+------+------+
|  2 | blah | blah | blah |
+----+------+------+------+

Ответы [ 6 ]

3 голосов
/ 04 июня 2009

Это, конечно, возможно. Следующий код должен сделать трюк

SELECT * FROM `table` WHERE `column` != "boo"

Если вы ищете где более одного столбца, добавьте следующие послесловия:

&& `column` != "boo"

для каждого нужного столбца.

Предполагая, конечно, что вы имеете в виду, что не хотите бу. Если хочешь только бу, то убери восклицательный знак.

1 голос
/ 04 июня 2009
SELECT * FROM YourTable WHERE col3 != 'boo';
1 голос
/ 04 июня 2009

Если под «содержит» вы подразумеваете «равно»:

SELECT * FROM table WHERE column <> 'VALUE TO EXCLUDE'

Или, если «содержит», вы буквально имеете в виду «содержит»:

SELECT * FROM table WHERE column NOT LIKE '%VALUE TO EXCLUDE%'

РЕДАКТИРОВАТЬ - Чтобы ответить на ваш обновленный вопрос:

SELECT * FROM table WHERE col3 <> 'boo'
0 голосов
/ 04 июня 2009

Вы можете использовать регулярные выражения в предложении where, если ваши данные и требования не просты.

, например

SELECT * FROM foo WHERE bar REGEXP '[[:alnum:]]+';

или

SELECT * FROM foo WHERE bar NOT REGEXP '[[:alnum:]]+';
0 голосов
/ 04 июня 2009

выберите * из MyTable, где col3 <> 'boo'

0 голосов
/ 04 июня 2009

Следующее исключает col3, если оно равно 'boo'.

select * from mytable where col3 <> 'boo'

Кроме этого, я не знаю, что вы ищете.

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