Abfrage für Abzeichen ändern, um nicht gelistete Themen einzubeziehen?

Hallo, ich versuche, eine Badge-Abfrage zu erstellen, die ein Badge vergibt, wenn jemand auf einen NICHT AUFGELISTETEN Beitrag antwortet.

Leider scheint die reguläre Abfrage „NICHT AUFGELISTETE" Beiträge aus irgendeinem Grund zu ignorieren und vergibt keine Badges.

Hier ist die betreffende Abfrage, sie ist identisch mit der oben genannten:

SELECT
DISTINCT ON (p.user_id)
p.user_id, p.id post_id, p.created_at granted_at
FROM badge_posts p
WHERE p.topic_id = 81 AND -- 81 ist das gewünschte Thema
  (:backfill OR p.id IN (:post_ids) )

Und hier ist der Fehler, den ich erhalte:

Keine Badges zur Zuweisung vorhanden.

Unique  (cost=25.87..25.88 rows=2 width=16)
  -\u003e  Sort  (cost=25.87..25.87 rows=2 width=16)
        Sort Key: p.user_id
        -\u003e  Hash Join  (cost=6.73..25.86 rows=2 width=16)
              Hash Cond: (t.category_id = c.id)
              -\u003e  Nested Loop  (cost=4.32..23.44 rows=4 width=20)
                    -\u003e  Index Scan using topics_pkey on topics t  (cost=0.14..8.16 rows=1 width=8)
                          Index Cond: (id = 81)
                          Filter: ((deleted_at IS NULL) AND visible)
                    -\u003e  Bitmap Heap Scan on posts p  (cost=4.18..15.24 rows=4 width=20)
                          Recheck Cond: (topic_id = 81)
                          Filter: ((deleted_at IS NULL) AND (post_type = ANY ('{1,2,3}'::integer[])))
                          -\u003e  Bitmap Index Scan on index_posts_on_topic_id_and_sort_order  (cost=0.00..4.17 rows=4 width=0)
                                Index Cond: (topic_id = 81)
              -\u003e  Hash  (cost=2.21..2.21 rows=16 width=4)
                    -\u003e  Seq Scan on categories c  (cost=0.00..2.21 rows=16 width=4)
                          Filter: (allow_badges AND (NOT read_restricted))

Wie kann ich meine Abfrage so anpassen, dass NICHT AUFGELISTETE Beiträge nicht ignoriert werden?

Vielen Dank für Ihre Zeit.

Versuche folgendes:

Ändere

FROM badge_posts p

in

FROM posts p

Die Tabelle badge_posts enthält keine nicht-veröffentlichten Beiträge oder Beiträge, die in privaten Kategorien erstellt wurden.