2010-03-27 56 views
0

我有两个表在我的数据库。上市最多评论新闻

  • 评论
    • CommentsID
    • MembersID
    • CommentsBy
    • CommentsDesc
    • CommentsActive
    • CommentsDateEntered
    • NewSID的


  • 新闻
    • NewSID的
    • MembersID
    • CategoriesID
    • ImagesID
    • NewsTitle
    • NewsShortDesc
    • NewsDesc
    • NewsActive

我需要把前5个评论新闻(积极的意见和积极的新闻),并使用一个查询列出他们的职称。我希望我有道理。但我在这里很困惑。任何建议表示赞赏。

+0

您正在使用什么数据库? – 2010-03-27 15:53:25

+0

MS SQL ........ – zurna 2010-03-27 15:55:21

回答

1

这是你想要的吗?

SELECT TOP(5) News.* 
FROM News 
WHERE News.NewsActive = 1 
ORDER BY 
    (SELECT COUNT(*) 
    FROM Comments 
    WHERE Comments.NewsId = News.NewsId AND Comments.CommentsActive = 1) DESC; 

回应您的评论是这样的:

SELECT TOP(5) News.*, 
    (SELECT COUNT(*) 
    FROM Comments 
    WHERE Comments.NewsId = News.NewsId AND Comments.CommentsActive = 1) AS TotalComments 
FROM News 
WHERE News.NewsActive = 1 
ORDER BY TotalComments DESC; 
+0

这正是我想要的,非常感谢你。最后一个问题,我怎样才能打印一条新闻的总评论数量?将“COUNT(*)AS TotalComments”做到了吗? – zurna 2010-03-27 16:03:31

+0

查看帖子以便更新。 – dale 2010-03-27 16:06:53

+0

非常感谢你! – zurna 2010-03-27 16:11:17