В форме регистрации есть два флага: has_email = 1 и has_phone = 1. Что означает фильтр NOT (has_email = 1) AND NOT (has_phone = 1)?

AУ пользователя есть at least one контакт: has_email = 1 OR has_phone = 1.
BУ пользователя есть оба контакта: has_email = 1 AND has_phone = 1.
CУ пользователя не указан ни один контакт: не выполнено ни has_email = 1, ни has_phone = 1.
DУ пользователя указан exactly one контакт.
Правильный ответ. Связка NOT (has_email = 1) AND NOT (has_phone = 1) означает: не выполнен ни один из двух признаков.

Разбор

Чтобы строка прошла фильтр, должны быть ложными оба условия: и has_email = 1, и has_phone = 1. Это соответствует случаю, когда не указан ни один контакт. Частая ошибка — перепутать это с NOT (A AND B), которое исключает только одновременное выполнение и допускает заполнение одного контакта.

Проверь себя · 1/3разбор после ответа
В сегмент нужно включить пользователей, у которых активен хотя бы один из флагов: is_student = 1 или has_coupon = 1. Какое условие соответствует формулировке «хотя бы один»?
Открыть Карьерник в Telegram

Ещё вопросы по теме «Булева логика и фильтры»