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

Sélection par rapport à des sous-ensembles d'une liste dans MySQL

Si vous prétendez que votre filtre est dans un tableau :

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))

S'il s'agissait d'une requête construite :

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>))

Cela me vient à l'esprit, il peut donc y avoir des fautes de frappe.