SELECT u.*
FROM (
SELECT user_id
FROM tag t
JOIN user_has_tag uht
ON uht.tag_id = t.id
WHERE tag_name IN ('apple', 'orange', 'banana')
GROUP BY
user_id
HAVING COUNT(*) = 3
) q
JOIN user u
ON u.id = q.user_id
HAVING COUNT(*)
. को हटाकर , आपको OR
मिलता है AND
. के बजाय (हालांकि यह सबसे कारगर तरीका नहीं होगा)
3
. को बदलकर 2
. के साथ , आपको ऐसे उपयोगकर्ता मिलते हैं जिनके ठीक तीन में से दो टैग परिभाषित होते हैं।
= 3
. को बदलकर >= 2
. के साथ , आपको ऐसे उपयोगकर्ता मिलते हैं जिनके तीन में से कम से कम दो टैग परिभाषित होते हैं।