sql >> Database >  >> RDS >> Mysql

MySQL - Vind rijen die overeenkomen met alle rijen van samengevoegde tabel

Het heeft geen zin om links samen te voegen als je alleen zoekt naar tracks die alle woorden bevatten. Ik neem aan dat (trackid ,wordid ) combinatie is uniek in 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

Deze zoekopdracht zou baat hebben bij indexen op wordlist(word), trackwords(trackid,wordid) en track(id).



  1. SIGN() Voorbeelden in SQL Server

  2. SQL Server 2008 - Hoe retourneer ik een door de gebruiker gedefinieerd tabeltype van een functie met tabelwaarde?

  3. Installeer en configureer XAMPP-software op Windows Server 2019

  4. SQL SELECT-instructie expressiewaarde hergebruik voor andere expressie