PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

(Une table) obtenir des lignes non incluses sans union

Est-ce ce que vous voulez ?

select e.*
from egr e
where not exists (select 1
                  from egr e2
                  where e2.groupid = e.groupid and e2.offid <> e.offid 
                 );

Ou si vous souhaitez vous limiter à ces deux offres :

select e.*
from egr e
where e.offid in (1, 2) and
      not exists (select 1
                  from egr e2
                  where e2.groupid = e.groupid and 
                        e2.offid in (1, 2) and
                        e2.offid <> e.offid 
                 );