Я бы использовал not exists
, если у вас есть только статус 0
& 1
:
select t.*
from table t
where t.status = 0 and
not exists (select 1 from table t1 where t1.rg_id = t.rg_id and t1.status = 1);
Другой вариант - использовать group by
предложение:
select rg_id
from table t
group by rg_id
having min(status) = max(status) and min(status) = 0;