我很難寫這個T-SQL查詢,所以我會很感激一些幫助。如何選擇最大日期,小於其他日期的行?
有看起來像這樣的表:
ID | idd(數字)| created_on(datetime)|屬性| old_value | new_value | ...其他
這是反映對某些對象的字段所做更改的歷史日誌。
我需要做的是爲每個對象選擇給定屬性給定日期的最新狀態。
假設數據是這樣的:
1 | 10 | 2014-01-01 | 14 | null | 5 2 | 10 | 2014-01-03 | 14 | 5 | 10 3 | 10 | 2014-01-05 | 14 | 10 | 8 4 | 11 | 2014-01-02 | 14 | null | 7 5 | 11 | 2014-01-08 | 14 | 7 | 25 ...
這樣,如果我有2014-01-10
選擇的物業14
最新狀態,其結果必然是:
3 | 10 | 2014-01-05 | 14 | 10 | 8 5 | 11 | 2014-01-08 | 14 | 7 | 25
如果非要選擇14
的最新狀態爲2014-01-04
,結果將爲:
2 | 10 | 2014-01-03 | 14 | 5 | 10 4 | 11 | 2014-01-02 | 14 | null | 7
到目前爲止我所管理的是爲單個對象選擇所需的值,這很容易,但我不知道如何擴展查詢以包含所有這些值。
@YuriyRozhovetskiy,是的,有可能是每天每IDD無限數量的記錄。它實際上以'ms'精度存儲爲時間戳。 – svz