数据 SE / SQL 查询 - 返回所有列,而不仅仅是存储在变量中时选择的最新列



我正在尝试在 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;

最新更新