2011-01-27 8 views
7

最新のエントリを取得するためのクエリに苦労しています。SQL複数のレコードで最大日付を選択

BusinessDate 
ReportGuid 
NoteGuid 
Note 
NoteDate 
NoteAddedBy 

BusinessDate、ReportGuidとNoteGuidがテーブルの上にPKです:私は、次の列が含まれているノートテーブルを持っています。この表では、特定のReportGuidに1日あたり複数の音符を割り当てることができます。追加のレポート情報が含まれている別のテーブルがあり、そのテーブルにはユーザーが参加して表示されます。私は各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だけが必要な場合は動作しますが、すべてのデータ列が必要です。 T.SM_T_Report_Notes FROM NoteDate \t \tとして SELECT ReportGuid、マックス(NoteDate) \t \t GROUP ReportGuid – Taryn

+0

@bluefeet BY:OK、ああ。その場合、単純にmax(ReportGuid)、Max(NoteDate)をSELECTとして選択できます。NoteDate FROM T.SM_T_Report_Notes GROUP BY ReportGuid –

関連する問題