2011-01-27 72 views
7

我正在为查询拉动最近的条目而苦苦挣扎。我有一个Notes表,其中包含以下列:SQL选择带有多条记录的最大日期

BusinessDate 
ReportGuid 
NoteGuid 
Note 
NoteDate 
NoteAddedBy 

BusinessDate,ReportGuid和NoteGuid是表中的PK。此表格允许特定的ReportGuid每天有多个笔记。我有另一个表格,其中包含了将会加入并显示给用户的其他报告信息。我正在尝试仅显示每个ReportGuid的最新注释条目。

我试过使用Max(NoteDate),但那只是让我添加到表中的最新备注,而不是每个ReportGuid的最新备注。

任何帮助,将不胜感激。

感谢

UPDATE:

感谢您的帮助:

SELECT N.Note, N.ReportGuid 
FROM Tracking.SM_T_Report_Notes N 
RIGHT OUTER JOIN 
    (
    SELECT ReportGuid, Max(NoteDate) As NoteDate 
    FROM Tracking.SM_T_Report_Notes 
    GROUP BY ReportGuid 
    ) AS ND 
    ON N.NoteDate = ND.NoteDate 

回答

10

您需要group by ReportGuid并选择Max(NoteDate)。这将选择每个组的最大值。

+0

这工作,如果我只想要ReportGuid和NoteDate,但我需要所有的数据列。 SELECT ReportGuid,MAX(NoteDate)作为NoteDate \t \t FROM T.SM_T_Report_Notes \t \t GROUP BY ReportGuid – Taryn 2011-01-27 13:36:10