Berikut ini akan berfungsi.
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;
Jika Anda ingin mencocokkan lebih dari dua tag, Anda dapat dengan mudah menambahkannya. Ingatlah untuk mengubah 2 di HAVING
klausa.
Saya mengasumsikan semua baris di tagXmedia
unik. Jika tidak, Anda harus menambahkan DISTINCT
ke COUNT
bagian.