以下が機能するはずです。
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;
2つ以上のタグと一致させたい場合は、簡単に追加できます。 2を変更することを忘れないでください HAVING
で 条項。
tagXmedia
のすべての行を想定しました ユニークです。そうでない場合は、DISTINCT
を追加する必要があります COUNT
に 一部。