SQL Serverデータベースに、履歴データを毎日格納するテーブルがあります。構造を以下に示します。
UploadDate TypeID Value1 Value2
-------------------------------------------
2012-01-08 1 NEG 1998-02-05
2012-01-08 2 NEG 1999-02-09
2012-01-08 3 STABLE 1997-02-06
2012-02-08 1 NEG 1998-02-05
2012-02-08 2 NEG 1999-02-09
2012-03-08 1 POS 2012-03-08
2012-03-08 2 STABLE 2012-01-08
上記のTypeID
1と2を見るValue1
とわかるように、 Value2
2012-03-08に変更されました
私の要件は、以前の値から変更された行のみを表示する必要があるということです。
この場合、TypeID
1と2が変更されたため、現在の最も近い以前の値が表示されます。また、TypeID
3の場合は変更されていないため、最新の値のみが表示されます。結果セットは次のようになります。
UploadDate TypeID Value1 Value2
-------------------------------------------
2012-01-08 3 STABLE 1997-02-06
2012-02-08 1 NEG 1998-02-05
2012-02-08 2 NEG 1999-02-09
2012-03-08 1 POS 2012-03-08
2012-03-08 2 STABLE 2012-01-08
SQLを使用してこれにどのように取り組むことができるか考えていますか?