alleen 发表于 2010-5-5 02:15:01

求一高困惑的MS SQL语句,请高手赐教!

求一MS SQL语句:如下有新闻表(News)存储新闻内容,评论表(Review)存储每条新闻的评论内容。





目的:根据评论表中的数据获取最近被评论的新闻(TOP 10 不重复)且按评论日期降序排列。



在ACCESS下我用

SELECT TOP 10 ID,Title
FROM (SELECT B.ID,B.Title FROM A LEFT JOIN B ON A.NewsID = B.ID ORDER BY A.ReviewDate DESC)
GROUP BY ID,Title

能行,换用MSSQL后不行了。
请高手帮忙写个在MSSQL下的查询语句,谢谢。

[ 本帖最后由 alleen 于 2010-5-5 02:22 编辑 ]

小男 发表于 2010-5-16 14:04:55

SELECT TOP 10 ID,Title
FROM (SELECT B.ID,B.Title FROM A LEFT JOIN B ON A.NewsID = B.ID ORDER BY A.ReviewDate DESC)
as xx
GROUP BY ID,Title


加个虚表名应该OK哇。、

codecn 发表于 2011-2-22 16:04:20

SELECT
Top 10
*
FROM
(
SELECT
A.*,
ViewDate=Isnull((select top 1 ReViewDate From ReView Where NewsId=A.Id Order By ReViewDate Desc),'1900-1-1')
FROM News A
) A ORDER BY ViewDate Desc
页: [1]
查看完整版本: 求一高困惑的MS SQL语句,请高手赐教!