sql >> Database teknologi >  >> RDS >> Mysql

mysql n:m relation:Find rækker med flere specifikke relationer

Du kan bruge denne løsning. Dette får alle produkter, der indeholder ALLE søgeord 1, 23 og 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

Hvor 3 er antallet af varer i din WHERE IN liste, så du kan justere i overensstemmelse hermed baseret på mængden af ​​tags, du vil kontrollere.



  1. MySQL CREATE FUNCTION Syntaks

  2. Stort databasestyringssystem:Design og arkitekt

  3. udenlandsk nøgle problem i jdbc

  4. Fejl ved oprettelse af en geografisk database. FEJL:kunne ikke indlæse biblioteket /usr/pgsql-9.1/lib/rtpostgis-2.0.so