sql >> Databasteknik >  >> RDS >> Mysql

MySQL - Hitta rader som matchar alla rader från den sammanfogade tabellen

Det är ingen mening med vänsteranslutningar om du bara letar efter spår som har alla orden. Jag antar att (trackid ,wordid ) kombinationen är unik i trackwords .

SELECT t.id
  FROM track as t,  trackwords as tw, wordlist as wl
 WHERE t.id=tw.trackid
   AND wl.id=tw.wordid
   AND wl.trackusecount>0 /* not sure what that is - you have it in your query */
   AND wl.word in ('folsom','prison','blues')
 GROUP by t.id
HAVING count(*) = 3

Den här frågan skulle dra nytta av index på wordlist(word), trackwords(trackid,wordid) och track(id).



  1. Anpassade grafer för att övervaka dina MySQL-, MariaDB-, MongoDB- och PostgreSQL-system - ClusterControl-tips och tricks

  2. Kontrollera om e-post redan finns i databasen

  3. iptables:Duplicera/vidarebefordra portar

  4. På duplicerad nyckel ignorera?