我正在使用t-sql。T-SQL中的行內時間比較
我有一個簡單的表稱爲mytable
它看起來像這樣:
ID Num Date
1 0 2015-01-01 00:00:00
1 0 2015-01-02 00:00:00
1 1 2015-01-03 00:00:00
1 2 2015-01-04 00:00:00
2 0 2015-01-01 00:00:00
2 1 2015-02-01 00:00:00
2 0 2015-03-01 00:00:00
3 1 2014-01-01 00:00:00
3 2 2014-01-02 00:00:00
4 2 2015-02-01 00:00:00
4 0 2015-02-02 00:00:00
4 2 2015-02-05 00:00:00
與此表的情況很簡單,任何時候的1
或2
值已輸入到表中,後來的值(按時間順序)不能是0
。這是數據輸入錯誤,必須通過將0
更改爲2
來解決。
因此,在上面的簡化示例中,ID
對於人員2
和4
有錯誤。
對於人2
,有人在0
鍵安裝在2015-01-01 00:00:00
,而對於人4
,有人在2015-01-01 00:00:00
在0
鍵。
我是SQL的新手,並且誠實地寧願將整個事情導出爲csv,在R中打開它,找到問題,然後使用數據庫中的更新語句更新值。但我覺得這是一個讓SQL變得更好的機會 - 不幸的是,我被卡住了。
這裏我需要一些方法來比較表中的行,因爲它們是按ID分組,還要考慮這種按時間順序的情況。我試過笛卡兒加入CASE
聲明,但沒有奏效。 任何幫助將不勝感激。
的SQL Server版本您使用的? –
7.0。是的,我正在研究一個非常舊的系統。 –
您只需要0個條目或比以前的記錄少的東西? – Hogan