Tsql 在select语句中从两个表中选择MAX

Tsql 在select语句中从两个表中选择MAX,tsql,Tsql,我有一个论坛系统的桌子。我想在论坛页面上显示以下数据 主题、描述符、上次发布日期(帖子或评论)以及上次发布的用户名(帖子或评论) 这是我的桌子 ForumSubject[ Id, Subject, Description ] ForumPost[ id, Subject, Title Body, UserId, Date ] ForumComment[ id, PostId, UserId, Date,

我有一个论坛系统的桌子。我想在论坛页面上显示以下数据 主题、描述符、上次发布日期(帖子或评论)以及上次发布的用户名(帖子或评论)

这是我的桌子

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
现在,我如何才能获得文章或评论的最长日期,以及文章的用户名

谢谢大家!

您可以这样做:

   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