sql >> Databáze >  >> RDS >> Mysql

Více značek vyhledávací dotaz

Následující by mělo fungovat.

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;

Pokud si přejete, aby odpovídalo více než jen dvěma štítkům, můžete je snadno přidat. Nezapomeňte změnit 2 v HAVING doložka.

Předpokládal jsem všechny řádky v tagXmedia jsou jedinečné. V případě, že nejsou, budete muset přidat DISTINCT do COUNT část.



  1. Jak vložit do pole v PostgreSQL

  2. Regulární výrazy uvnitř SQL Serveru

  3. Vícepříkazové TVF v Dynamics CRM

  4. Jak váš ovladač Oracle ODBC načte klienta Oracle?