Tsql 如何获取所有由指定用户回答但没有被接受答案的问题?
我想在SE Data Explorer中创建一个查询,该查询执行以下操作: 获取所有由指定用户(至少)给出答案且没有(任何人)接受答案的问题 我从来没有写过这样的代码,并且缺少。以下是我从示例中收集的一行内容,以及其中的一些文档:Tsql 如何获取所有由指定用户回答但没有被接受答案的问题?,tsql,dataexplorer,Tsql,Dataexplorer,我想在SE Data Explorer中创建一个查询,该查询执行以下操作: 获取所有由指定用户(至少)给出答案且没有(任何人)接受答案的问题 我从来没有写过这样的代码,并且缺少。以下是我从示例中收集的一行内容,以及其中的一些文档: SELECT a.id AS [Post Link] FROM Posts a WHERE a.OwnerUserId = ##UserId## and PostTypeId = 2 此获取指定用户(至少?)回答的所有问题,但我无法仅过滤没有接受答案的问题 类型Po
SELECT a.id AS [Post Link] FROM Posts a WHERE a.OwnerUserId = ##UserId## and PostTypeId = 2
此获取指定用户(至少?)回答的所有问题,但我无法仅过滤没有接受答案的问题
类型Posts
具有AcceptedAnswerId int
,但无论我放了什么int
,我都没有得到任何回报。我甚至找不到这个财产的意义或者什么价值是合法的。对于PostTypeId
我刚刚试过,发现1
是问题,2
是答案
我还查看了类型,发现已接受的\u-answer\u-id
没有关于它是什么的文档。此外,我不知道如何使用这些问题类型(使用问题中的会产生错误),或者这些问题是否正确。我知道我通过调用其中一个“返回此类型的方法”来检索它们
最后,我想知道我写的是不是一个正确的方法。过滤器的应用顺序是重要的还是同时应用的?打我想要的电话的“最佳做法”是什么?目前,你只看用户的帖子。但是您需要获得相应问题的AcceptedAnswerId
字段。如果问题到目前为止没有可接受的答案,则此字段应为null
。我通过在Posts表中添加一个JOIN
来编辑您的查询,以获取问题和问题的AcceptedAnswerId
字段
SELECT q.Id as [Post Link]
FROM Posts a
JOIN Posts q on a.ParentId = q.Id
WHERE a.OwnerUserId = ##UserId##
and a.PostTypeId = 2
and q.AcceptedAnswerId is null
此时,您还可以通过添加来排除封闭式问题,并且ClosedDate为null
您还可以找到并尝试我的解决方案。您如何知道AcceptedAnswerId为null
?你在文档中的什么地方读到的?我在文档中找不到这些信息。但如果没有公认的答案,这个领域还应该有什么?此外,我在其他查询中也看到了它,在我自己的查询中也使用了它。我同意,我问过,以防我丢失一些文档。其他领域可能不那么直观。实际上,我尝试了AcceptedAnswerId=null
但不太懂语法。