Предметы, которые не имеют оба значения в 1
будет иметь один или другой, как не- 1
.
Следовательно, вам нужно:
select * from `operations`
where `finished` != 1 or `closed` != 1
Упрощая значения либо как 1
или 0
увидите вы получите:
finished closed result
-------- ------ ------
0 0 T
0 1 T
0 0 T
1 1 F
Это одно чтение вашего вопроса. Другой (хотя и маловероятный) заключается в том, что вы хотите знать, какие строки имеют один значений на 1
, но не на другом. Вы можете получить, что с:
select * from `operations`
where (`finished` != 1 or `closed` != 1) and `finished` != `closed`
Таблица результатов для этого будет:
finished closed result
-------- ------ ------
0 0 F
0 1 T
1 0 T
1 1 F
Ваш оригинальный запрос используется and
, где он должен был использовать or
(если вы хотите первый результат выше). Это только выбранные строки, где оба значения были не- 1
:
finished closed result
-------- ------ ------
0 0 T
0 1 F
1 0 F
1 1 F
Это сделал трюк, спасибо! Я отмечу как разрешенный за 9 минут :) –