sql >> Databasteknik >  >> RDS >> Mysql

mysql n:m relation:Hitta rader med flera specifika relationer

Du kan använda den här lösningen. Detta får alla produkter som innehåller ALLA sökord 1, 23 och 54:

SELECT a.*
FROM products a
INNER JOIN product_tags b ON a.product_id = b.product_id
WHERE b.tag_id IN (1,23,54)
GROUP BY a.product_id
HAVING COUNT(1) = 3

Där 3 är antalet objekt i din WHERE IN lista, så att du kan justera därefter baserat på antalet taggar du vill kontrollera.



  1. Hur lägger jag till en kontrollbegränsning i en Rails-migrering?

  2. Kan inte installera mysql2 gem på macOS Sierra

  3. Salesforce SOQL från Apache OpenOffice

  4. Oracle PL/SQL:Kontrollera om BLOB eller CLOB är tom