Из комментариев: выражение AND status <> 'Discarded'
не допускает NULL
значений.
В SQL NULL <> 'Discarded'
равно false, точно так же, как NULL = 'Discarded'
также равно false. Чтобы проверить на ничтожность, вам нужно использовать IS NULL
.
Я думаю, что ваш запрос должен быть выражен как:
SELECT *
FROM assets
WHERE
model = ''
AND os LIKE '%7%'
AND (status IS NULL OR status <> 'Discarded')
NB. Стоит отметить, что хранение пустых строк, вообще говоря, не очень хорошая идея. Обычно проще использовать NULL
в качестве значения по умолчанию.