Ответ 1
Try:
SELECT *
FROM table
WHERE NOT (complete = 0
AND pending = 1)
или
SELECT *
FROM table
WHERE !(complete = 0
AND pending = 1)
EDIT: Я пошел и посмотрел: http://dev.mysql.com/doc/refman/4.1/en/expressions.html
Я получаю некоторые странные результаты, поэтому мне нужно просто проверить себя...
SELECT *
FROM table
WHERE complete != 0
AND pending != 1
Чтобы быть понятным, это разрешено:
pending = 0, complete = 0
pending = 1, complete = 1
pending = 0, complete = 1
Это НЕ разрешено возвращать из моего запроса:
pending = 1, complete = 0
Что мне здесь не хватает...?
Try:
SELECT *
FROM table
WHERE NOT (complete = 0
AND pending = 1)
или
SELECT *
FROM table
WHERE !(complete = 0
AND pending = 1)
EDIT: Я пошел и посмотрел: http://dev.mysql.com/doc/refman/4.1/en/expressions.html
Вам нужно использовать OR
, а не AND
. Ваше выражение исключает любую комбинацию, где complete = 0
или pending = 1
, что является слишком ограничительным. Попробуйте следующее:
SELECT *
FROM Table
WHERE complete != 0 OR pending != 1;
^^ change AND to OR
Пример: http://sqlize.com/G8j6sFqo09