Выбор MAX из двух таблиц в операторе выбора - PullRequest
0 голосов
/ 27 октября 2011

У меня есть таблицы для системы форума. Я пытаюсь получить следующие данные для отображения на странице форума Тема, Дескриптор, Дата последней публикации (пост или комментарий) и имя пользователя, который сделал последний пост (пост или комментарий)

вот мои столы

ForumSubject[
   Id,
   Subject,
   Description
 ]


ForumPost[
   id,
   Subject,
   Title
   Body,
   UserId,
   Date
 ]

ForumComment[
   id,
   PostId,
   UserId,
   Date,
   Comment

 ]

 User[
    id
    Name
  ]

Вот что у меня есть

SELECT
subject.Id,
subject.Description,
subject.Subject
FROM dbo.ForumSubject subject

Как теперь я могу получить МАКСИМАЛЬНУЮ дату поста или комментария, который когда-либо был последним, и имя пользователя для сообщения ???

Спасибо!

1 Ответ

0 голосов
/ 20 декабря 2011

Вы можете сделать это:

   SELECT s.Id, s.Subject, s.Description, t2.LastDate
   FROM dbo.FormSubjet s
   INNER JOIN (
    SELECT Id, Max(Date) as LastDate
    FROM (
        SELECT Id, Date
        FROM dbo.FormPost
        UNION ALL
        SELECT Id, Date
        FROM dbo.FormComment
    ) t1
    GROUP BY t1.Id      
    ) t2 ON t2.Id = s.Id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...