2014-02-08 59 views
-2

我有兩個表:tbComment和tbCommentStatus:選擇每個ID最多的ID

**tbComment** 
CommentID  IsLocked 
1    0  
2    0 
3    1 
4    0 
5    1 

**tbCommentStatus** 
CommentStatusID CommentID StatusTypeID 
105    1   1     
106    1   4     
107    2   1     
108    3   1    
109    3   4 
110    4   1 
112    5   1 
112    5   4 

我想回到每個CommentID其中StatusTypeID = 4,IsLocked = 1

最高CommentStatusIDs的數據集的CommentIDs

基本上,在這裏我將返回CommentIDs:3,5因爲他們的最高CommentStatusID有StatusTypeID = 4,tbComment.IsLocked = 1

男人,我希望這是有道理的。如果沒有,我可以澄清。 謝謝!

回答

1

請嘗試以下查詢。

SELECT c.CommentID, MAX(cs.CommentStatusID) MaxCommentStatusID 
FROM tbComment c 
     JOIN tbCommentStatus cs ON c.CommentID = cs.CommentID 
WHERE c.IsLocked = 1 
AND cs.StatusTypeID = 4 
GROUP BY c.CommentID