【发布时间】:2012-10-24 13:11:16
【问题描述】:
我想触发以下查询:
SELECT DISTINCT TOP(5) fp.PostId FROM dbForumPosts fp
LEFT JOIN dbForumEntry fe ON fp.PostId = fe.PostId
Order by fe.Datemade DESC
但是,当我触发它时,我得到了错误:
Msg 145, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if SELECT DISTINCT is specified.
我试图更改查询,所以它改用了 GROUP BY,但是我遇到了以下问题:
Msg 8127, Level 16, State 1, Line 4
Column "dbForumEntry.Datemade" is invalid in the ORDER BY clause because it is not contained in either an aggregate function or the GROUP BY clause.
我想要什么:
将其视为一个论坛。有帖子 (dbForumPosts) 和条目 (dbForumEntry)。 pr post 有 0 个条目。
我想要的是获取具有最新活动的帖子(具有最新更新条目的帖子)。
【问题讨论】:
-
每个
PostId可以有多个Datemade吗?如果是这样,使用哪一个进行订购? -
您到底想做什么?您是尝试获取前五个记录,然后从中获取不同的值,还是尝试获取不同的值,然后只获取前五个?
-
我添加了我想要的文本:-)
标签: sql sql-server join distinct