2011-10-27 4 views
0

포럼 시스템 용 테이블이 있습니다. 나는 포럼 페이지 주제, Descripton, 마지막 게시 날짜 (게시물 또는 댓글 중)에 표시 할 수있는 다음과 같은 데이터를 얻을 수 트링, 및 AM 마지막 게시물 (게시물 또는 댓글 중)SELECT 문의 두 테이블에서 MAX 선택

여기

내 테이블

가 만든 사용자 이름 여기
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 

어떻게 지금이 얻을 수있는 게시물이나 코멘트 이제까지 마지막이며, 게시물에 대한 사용자 이름 중 하나의 MAX 날짜 ???

감사합니다.

답변

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