特定のイベントを過ぎたテーブルの最新のエントリを取得しようとしています。この主なテーブルには、ユーザーのID、発生したイベントの種類、タイムスタンプが含まれています。テーブル内の直前のエントリを取得しようとしています
これはどこ私は現在でいますされています(個々のイベントのためのdupesは、私が想定していないが)
SELECT cc.RefNo
,cc.Subcase
,ev.EventDate
,evt.EventCode
,ev.Amount
,previousevent.EventCode as [previous Event]
,previousevent.previousdate as [date previous event]
FROM event ev JOIN EventTemplate evt ON ev.EventTemplateID = evt.ID
JOIN CCase cc ON cc.ID = ev.CCaseID
JOIN (SELECT MAX(ev.EventDate) as previousdate, evt.EventCode, CCaseID
FROM Event ev JOIN EventTemplate evt ON ev.EventTemplateID = evt.ID
WHERE (evt.EventCode LIKE 'SI%' OR evt.EventCode LIKE 'SM%')
Group by CCaseID, evt.EventCode) as previousevent
ON previousevent.CCaseID = cc.ID
AND previousevent.previousdate < ev.EventDate
このため、出力は私の以前のすべてのイベントを与えています。私は今、RefNo、Subcase、EventDate、EventCodeの組み合わせごとに最新のものに到達する方法を探しています。
は素晴らしいです始める場所。 http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –
[SQL - 指定された日付の前に見つかった最初のレコードの選択可能な複製](https://stackoverflow.com/questions/10839350/sql-selecting-the-first-record-found-before-a-given-date) –