شارة للحصول على شارات أخرى معينة

أعمل على استعلام SQL لمنح المستخدمين شارة عندما يمتلكون جميع الشارات في قائمة محددة (مثل المعرفات 3 و4 و5).

أعلم أن هذا الاستعلام للشارة يعمل مع شارة واحدة:

SELECT user_id, count(id) , current_timestamp granted_at
FROM user_badges 
WHERE badge_id=4
GROUP BY user_id 

لكن كيف يمكنني جعل هذا ينطبق على معرفات شارات متعددة؟ إضافة badge_id = X أخرى لن تعمل لأن هذا يبحث عن شارة واحدة. يبدو أن Intersect سيعمل لكنه غير مدعوم. سيتم تشغيل هذا الاستعلام يوميًا ولن يستهدف أي منشورات.
شكرًا!

أستخدم شيئًا مشابهًا لهذا لإنشاء مستوى مستخدم بديل لأعضائي.
يمكنك استبدال ib.badge_id بمعرف الشارة الذي يجب أن يحققه أعضاؤك.

SELECT user_id, CURRENT_TIMESTAMP granted_at, NULL post_id
FROM user_badges pb
WHERE badge_id = 1
AND EXISTS (
  SELECT 1 FROM user_badges ib
  WHERE pb.user_id = ib.user_id
  AND ib.badge_id = 11
)
AND EXISTS (
  SELECT 1 FROM user_badges ib
  WHERE pb.user_id = ib.user_id
  AND ib.badge_id = 124
)
AND EXISTS (
  SELECT 1 FROM user_badges ib
  WHERE pb.user_id = ib.user_id
  AND ib.badge_id = 123
)
AND EXISTS (
  SELECT 1 FROM user_badges ib
  WHERE pb.user_id = ib.user_id
  AND ib.badge_id = 127
)
AND EXISTS (
   SELECT 1 FROM user_badges ib
   WHERE pb.user_id = ib.user_id
  AND ib.badge_id = 5
)

شكرًا لمساعدتك، هذا يعمل بشكل مثالي!