0

我正在尝试在数据资源管理器中编写一个简单的查询,以找出用户对某个标签的回答数。这是我到目前为止所拥有的(也在此处):

SELECT Count(*)
FROM Users u
   JOIN Posts p ON p.owneruserid = u.id
   JOIN PostTags pt ON pt.PostId = p.Id
   JOIN Tags t  ON t.Id = pt.TagId
WHERE u.Id = ##UserId##
     AND t.TagName IN 
     (
       ##Tag1:string##
     )

问题是这只是返回有问题的帖子。我尝试将 WHERE 子句修改为:

WHERE u.ID = ##UserId## AND p.postTypeId = 2 ...

只返回答案的帖子,但它返回的计数为 0,这让我相信我的 JOIN 只会导致帖子是问题。谁能看到为什么会发生这种情况,以及如何修改此查询以显示答案?

仅供参考,最终目标是尝试查看标签青铜/银/金徽章还需要多少答案。

4

1 回答 1

1

似乎标签没有添加到答案中,因此您应该检查问题标签:

SELECT Count(*)
FROM Users u
   JOIN Posts p ON p.owneruserid = u.id
   JOIN Posts q ON q.Id = p.ParentId
   JOIN PostTags pt ON pt.PostId = q.Id
   JOIN Tags t  ON t.Id = pt.TagId
WHERE u.Id = ##UserId## AND t.TagName IN (##Tag1:string##)
于 2013-11-08T08:21:29.333 回答