Вам нужно понять, как работает AND
и OR
.
AND
результаты до TRUE
ТОЛЬКО ЕСЛИ ВСЕ задействованные условия TRUE
OR
приводит к TRUE
ДАЖЕ ЕСЛИ ТОЛЬКО ОДИН ИЗ условия участия TRUE
Это объясняет поведение, которое вы заметили, когда одно из ваших состояний игнорируется.
Возвращает TRUE
:
condition1 = TRUE AND condition2 = TRUE
Возвращает TRUE:
condition1 = FALSE AND condition2 = FALSE OR condition3 = TRUE
Решение: используйте скобки, чтобы сгруппировать, для каких условий вам нужен только 1 результат, равный TRUE
.
Возвращает FALSE
:
(condition1 = TRUE OR condition2 = TRUE) AND condition3 = FALSE