SQL Join Tables - 其他表中相关主条目的第2个最新条目

时间:2014-10-17 15:05:40

标签: sql sql-server tsql join sql-server-2000

以下摘要场景。我有2张桌子。一个是包含"帖子"和其他"评论" 如果你创建一个新的"帖子",还有一个新的"评论"添加类型" initial"。每当你现在添加一个真正的评论时,它会得到一个postID和一个类似" picture"," text"," movie" ...

我现在需要获得一个表格,显示最初的帖子日期和第一个"真实"评论。我想知道在写第一条评论之前需要多长时间。

SELECT post.ID,post.Title,post.Author,post.CreateDate,
comment.Type,comment.Text,comment.CreateDate
FROM Posts as post
INNER JOIN Comments as comments on post.ID = comment.PostID

这给了我评论数量的帖子信息。 现在我想拥有第一个真正的"评论日期站在帖子的createDate旁边(其中comment.Type!=' initial')

不知道该怎么做。在这种情况下有人可以帮助我吗? 应该可以在MS SQL 2000上运行它......

提前致谢...

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT post.ID,max(post.Title),max(post.Author),min(post.CreateDate),
min(comment.CreateDate),
datediff(mi,min(post.CreateDate),min(comment.CreateDate)) as 'first comment in minutes'
FROM Posts as post
INNER JOIN Comments as comments on post.ID = comment.PostID
where  comment.Type != 'initial'
group by post.id