sql >> Databasteknik >  >> RDS >> Mysql

SQL en-till-många-relation - Hur väljer man rader beroende på flera till-många-egenskaper?

En metod använder aggregering och having :

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

Detta förutsätter att det inte finns några dubbletter av inställningar (i så fall måste du använda count(distinct) ).




  1. Referens till grupper i ett MySQL-regex?

  2. mysql:varför att jämföra en 'sträng' med 0 ger sant?

  3. Effektiv konvertering av OracleDecimal till .NET-decimal med trunkering

  4. Lagrad procedur och fylla i en Temp-tabell från en länkad lagrad procedur med parametrar