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

Relation SQL un-à-plusieurs - Comment SÉLECTIONNER des lignes en fonction de plusieurs propriétés ?

Une méthode utilise l'agrégation et having :

select s.user_id
from settings s
where (key, value) in (  ('color', 'blue'), ('size', '5') )
group by s.user_id
having count(*) = 2;

Cela suppose qu'il n'y a pas de paramètres en double (si c'est le cas, vous devrez utiliser count(distinct) ).