特定のバッジを持っているためのバッジ

指定されたリスト(例:ID 3、4、5)に含まれるすべてのバッジを取得したユーザーにバッジを付与する SQL を作成しています。

単一のバッジに対しては、以下のクエリが機能していることを確認しています。

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

これを複数のバッジ ID に適用するにはどうすればよいでしょうか?badge_id = X を追加しても、特定の 1 つのバッジしか検索しないため機能しません。INTERSECT が使えれば良さそうですが、サポートされていないようです。このクエリは毎日実行され、投稿は対象としません。
よろしくお願いいたします。

このようなクエリを使用して、メンバーの代替ユーザーレベルを作成しています。
メンバーが達成すべきバッジ ID に 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
)

お手伝いいただきありがとうございます。これで完璧に動作します!