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

Joindre deux tables, en faisant correspondre une colonne avec plusieurs valeurs

Ajustez la valeur testée dans la clause HAVING pour qu'elle corresponde au nombre de valeurs répertoriées dans la clause IN.

SELECT p.*
    FROM products p
    WHERE p.ID IN (SELECT pi.ItemID
                       FROM parameteritems pi
                       WHERE pi.ItemID = p.ID
                           AND pi.ParameterID IN (7,11)
                       GROUP BY pi.ItemID
                       HAVING COUNT(DISTINCT pi.ParameterID) = 2)