2011-01-27 71 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