为什么此查询(可能)仅返回有问题的帖子?

时间:2013-11-08 07:49:45

标签: sql tsql dataexplorer

我正在尝试在Data Explorer中编写一个简单查询,以找出用户对某个标记的答案数。这是我到目前为止(也here):

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只会产生问题的帖子。任何人都可以看到为什么会发生这种情况,以及如何修改此查询以显示答案?

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

1 个答案:

答案 0 :(得分: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##)