我正在尝试在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只会产生问题的帖子。任何人都可以看到为什么会发生这种情况,以及如何修改此查询以显示答案?
仅供参考,最终目标是尝试查看标签铜/银/金徽章需要多少答案。
答案 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##)