Список самых комментируемых новостей - PullRequest
0 голосов
/ 27 марта 2010

В моей базе данных две таблицы.

  • Комментарии
    • CommentsID
    • MembersID
    • CommentsBy
    • CommentsDesc
    • CommentsActive
    • CommentsDateEntered
    • NewSID


  • Новости
    • NewSID
    • MembersID
    • CategoriesID
    • ImagesID
    • NewsTitle
    • NewsShortDesc
    • NewsDesc
    • NewsActive

Мне нужно взять 5 лучших закомментированных новостей (активные комментарии и активные новости) и перечислить их заголовки с помощью одного запроса. Надеюсь, я понял. Но я действительно смущен здесь. Любое предложение приветствуется.

1 Ответ

1 голос
/ 27 марта 2010

Это то, что вы хотите?

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...