Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL-Eins-zu-viele-Beziehung - Wie wählt man Zeilen in Abhängigkeit von mehreren zu vielen Eigenschaften aus?

Eine Methode verwendet Aggregation und having :

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

Dies setzt voraus, dass es keine doppelten Einstellungen gibt (in diesem Fall müssten Sie count(distinct) verwenden). ).