Вы можете использовать exists
:
select t.*
from t
where t.product_id in (71, 83) and
exists (select 1
from t t2
where t2.partner_id = t.partner_id and
t2.product_id in (71, 83) and
t2.product_id <> t.product_id
);
Однако, это может иметь смысл также, если вы хотите только партнеров.В этом случае вы можете использовать group by
:
select partner_id
from t
where product_id in (71, 83)
group by partner_id
having count(*) = 2; -- assuming no duplicates