sql >> Database >  >> RDS >> Mysql

Selecteren tegen subsets van een lijst in MySQL

Als je doet alsof je filter in een tabel staat:

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

Als het in een samengestelde zoekopdracht was:

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

Dit is niet uit mijn hoofd, dus het kan typefouten bevatten.



  1. SQL Server 2017-back-up -1

  2. Hoe kan ik drie tabel JOIN's doen in een UPDATE-query?

  3. Hoe een postgres-database naar sqlite te converteren?

  4. Gebruik accentgevoelige primaire sleutel in MySQL