我正在尝试在 Data SE 上创建查询,到目前为止,我有以下代码:
DECLARE @ParentId int;
DECLARE @AnswerId int;
SELECT @ParentId = ParentId, @AnswerId = Id FROM Posts
WHERE
OwnerUserId = 5620297
AND
PostTypeId = 2;
SELECT * FROM Posts
WHERE
Id = @ParentId
AND
AcceptedAnswerId != @AnswerId
基本上,查询应该返回一个有我的答案的问题,但是其他人的答案已被接受。
上面的查询有效,但是,它只检查最新的问题/答案。如何更改此设置以检查并返回我回答的每个问题?
你应该JOIN
你的表格:
SELECT *
FROM Posts P1
INNER JOIN (SELECT ParentId, Id
FROM Posts
WHERE OwnerUserId = 5620297
AND PostTypeId = 2) P2
ON P1.Id = P2.ParentId
AND P1.AcceptedAnswerId <> P2.Id;