【发布时间】:2012-03-22 09:28:55
【问题描述】:
我有一个帖子和一个 cmets 表:
Post (id, title)
Comment(id, postid, comment, commentdate)
我正在尝试选择带有评论日期的最新 10 个帖子。得到这个的查询是什么?
例子:
如果我想获取最新的 3 个帖子:
Post
---
1 P1
2 P2
3 P3
4 P4
Comment
---
1 1 C1 01:01
2 3 C2 01:02
3 3 C3 01:03
4 2 C4 01:04
5 2 C5 01:05
6 1 C6 01:06
7 4 C7 01:07
8 4 C8 01:08
Exptected result:
---
4 P4 01:08
1 P1 01:06
2 P2 01:05
从最后一条记录中搜索评论表,在 postid 列中,我分别找到了 4、1 和 2(并且很明显)。我找到了 3 个 cmets,然后就停在那里。
【问题讨论】:
-
为什么post 3不在预期结果中?另外,您能告诉我们您使用的是什么版本的 SQL Server 吗? related 标记非常无用,但 sql-server-2005 将是,例如。
-
帖子 3 不在结果中,因为最新评论的 3 个帖子是 P4、P1(在 P4 之前评论)和 P2(在 P1 之前评论)。
-
那你能澄清一下你想要前3还是前10?您的问题在不同的地方都要求。
标签: sql sql-server sql-server-2008 tsql join