2011-10-27 24 views
0

フォーラムシステム用のテーブルがあります。私は、次のデータは、フォーラムのページ 件名、Descripton、最終転記日付(ポストまたはコメントのいずれか)を表示するために取得するトリング午前、ここで最後のポストを作ったユーザ名(ポストまたはコメントのいずれか)SELECTステートメントの2つのテーブルからMAXを選択する

は私のテーブルです

ここで
ForumSubject[ 
    Id, 
    Subject, 
    Description 
] 


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

ForumComment[ 
    id, 
    PostId, 
    UserId, 
    Date, 
    Comment 

] 

User[ 
    id 
    Name 
    ] 

どのように今、私は記事やコメント、これまでの最後で、ポストのためのユーザー名のいずれかのMAX日付を取得することができ、これまで私が持っているもの

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

あります?

ありがとうございました!

答えて

0

あなたはそれを行うことができます。

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 
+0

はその答えをありがとう! – twaldron

関連する問題