我在SQL Server數據庫中有一個表,用於存儲每天的歷史數據。其結構如下圖所示:用於顯示數據更改歷史記錄的SQL查詢
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
正如你可以看到上面的 2,Value1
和Value2
已經改變了2012-03-08
我的要求是這樣的,我只要出示那些已經從先前值改變的行。
在這種情況下,因爲 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?
還不清楚你想要什麼帥哥? – codingbiz 2012-08-07 22:02:37
缺少一些東西......排除前兩行的標準是什麼? – gkaran89 2012-08-07 22:10:43
這個標準是這樣的,只顯示來自先前值的特定typeID的最新變化。 – 2012-08-07 22:30:53