sql >> Databasteknik >  >> RDS >> Mysql

Sökfråga för flera taggar

Följande bör fungera.

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;

Om du vill att det ska matcha mer än bara två taggar kan du enkelt lägga till dem. Kom bara ihåg att ändra 2 i HAVING klausul.

Jag antog alla rader i tagXmedia är unika. Om de inte är det måste du lägga till DISTINCT till COUNT del.



  1. Vad är det förväntade beteendet för flera set-returnerande funktioner i SELECT-satsen?

  2. Hur man ställer in OTA i R12 och 11i

  3. Hur kan jag ställa in ett anpassat format för datum och tid i Oracle SQL Developer?

  4. MySQL:Transaktioner vs låsningstabeller