Nếu bạn giả vờ rằng bộ lọc của mình nằm trong bảng:
select *
from product p
where not exists (
select 1
from attributes a
where a.product_id = p.product_id
and not exists(
select 1
from filter f
where f.id_attribute = a.id_attribute))
Nếu nó nằm trong một truy vấn đã xây dựng:
select *
from product p
where not exists (
select 1
from attributes a
where a.product_id = p.product_id
and attribute_id not in (<list>))
Tôi không hiểu điều này nên có thể có lỗi chính tả.