sql >> Database >  >> RDS >> Mysql

Zoekopdracht voor meerdere tags

Het volgende zou moeten werken.

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;

Als u wilt dat er meer dan twee tags overeenkomen, kunt u deze eenvoudig toevoegen. Vergeet niet om de 2 . te wijzigen in de HAVING clausule.

Ik nam aan dat alle rijen in tagXmedia zijn uniek. Als dat niet het geval is, moet u DISTINCT . toevoegen naar de COUNT onderdeel.



  1. Stamboom/stamboomkaart uit database

  2. IDENT_CURRENT vs @@IDENTITY vs SCOPE_IDENTITY in SQL Server:wat is het verschil?

  3. proberen verbinding te maken met mysql op afstand vanaf de .asp-pagina

  4. Controleren op een leeg resultaat (PHP, PDO en MySQL)