У меня 2 таблицы (документы & doc_process):
документы
id | content | status
------------------------
1 | content 1 | 1
2 | content 2 | 2
doc_process
id | doc_id | user | status
---------------------------
1 | 1 | 1 | 2
2 | 1 | 2 | 2
3 | 1 | 3 | 2
4 | 2 | 1 | 1
5 | 2 | 2 | 2
6 | 2 | 3 | 1
Как я могу выбрать статус, когда все doc_id = 1
иметь значение 2
doc_id | status
---------------
1 | 2
doc_id 2
не фильтровать, потому что id = 4
, id = 6
не равны 2
Используйте условную агрегацию
select doc_id
from your_table
group by doc_id
having sum(status <> 2) = 0
Других решений пока нет …