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

Søgeforespørgsel med flere tags

Følgende burde virke.

SELECT media_id
FROM tagXmedia
WHERE tag_id IN (SELECT id FROM tag WHERE name IN ('home','hawaii'))
GROUP BY media_id
HAVING COUNT(tag_id) = 2;

Hvis du ønsker at få det til at matche mere end blot to tags, kan du nemt tilføje dem. Bare husk at ændre 2 i HAVING klausul.

Jeg antog alle rækkerne i tagXmedia er unikke. Hvis de ikke er det, bliver du nødt til at tilføje DISTINCT til COUNT del.



  1. Sådan tilføjer du en titel til en rapporthoved i Microsoft Access

  2. COS() Funktion i Oracle

  3. Sådan kontrolleres, om en bruger klikkede på [Annuller] på en inputboks i VBA

  4. MySQL SOUNDEX() Eksempler