我们的一位用户曾拥有 5 枚“优质回复”徽章(点赞 100 篇帖子并收到 100 次点赞)。随后,我们将一些话题移至了私密分类,现在他只剩下 3 枚徽章。似乎徽章查询未统计已移动话题上的点赞(无论是发出的还是收到的),这可能是因为话题被移动了,也可能是因为它们现在属于私密话题。
在调试此问题时,我将徽章查询复制到了数据探索器(Data Explorer)中:
select p.user_id, p.id post_id, current_timestamp granted_at
from badge_posts p
where p.post_number > 1
and p.like_count >= 10
上述查询仅返回该用户的 3 条记录,但预期应为 5 条。我注意到它使用了 badge_posts 表。我在数据探索器的树状视图中找不到 badge_posts 表。因此,我将 badge_posts 改为 posts,结果按预期返回了 5 条记录。
badge_posts 表来自哪里?徽章查询是否应该改用 posts 表?