person1, person2, person3, status1, status2, status3, где status может быть либо «Not done», либо «Done», либо null, если значение отсутствует, поскольку с ним не связано ни одно лицо. Я пытаюсь запросить в таблице строку, если какое-либо состояние имеет значение «Не выполнено», однако, если столбец состояния имеет значение «ноль», я не хочу, чтобы это влияло на мой запрос, и строка не будет отображаться, если все другие статусы уже выполнены.
EXAMPLE DATA
PK| person1 | person2 | person3 | status1 | status2 | status3
1 A B C Done Done Not Done
2 A B NULL Done Done NULL
select * from table where not (status1 = 'Done' and status2 = 'Done' and status3 = 'Done')
Я пробовал вышеупомянутый запрос, чтобы получить строки, если есть статусы, которые не выполнены, но так как в строке 2 нет никакого person3, что означает, что status3 будет null, тогда строка все равно будет отображаться, даже если статус1 и статус2 уже выполнены, но мне нужно, чтобы он не отображался в моем наборе результатов, и только строка1 должна отображать