उपयोग करें:
SELECT *
FROM OBJECTS o
JOIN OBJECTSTAGS ot ON ot.object_id = o.id
JOIN TAGS t ON t.id = ot.tag_id
WHERE t.name IN ('tag1','tag2')
GROUP BY o.id
HAVING COUNT(DISTINCT t.name) = 2
आप HAVING क्लॉज को मिस कर रहे थे।
यदि आप केवल उन पंक्तियों को चाहते हैं जहाँ दोनों टैग मौजूद हैं, तो LEFT JOIN करने की कोई आवश्यकता नहीं है।