2010-05-26 58 views

回答

1

如何只使用一個子查詢,類似如下:

UPDATE MyTable mt 
SET mt.EFFECTIVE_END_DATETIME = (SELECT MIN(mt2.EFFECTIVE_START_DATETIME) 
           FROM MyTable mt2 
           WHERE mt2.EFFECTIVE_START_DATETIME > mt.EFFECTIVE_START_DATETIME); 
+0

由於LC,它的工作改變了它作爲 UPDATE T0 SET T0.EFFECTIVE_END_DATETIME =(SELECT ISNULL(MIN(T1.EFFECTIVE_START_DATETIME), '9999-12-31') FROM SHARED.OSP_GEO_BOUNDARY_DIM T1 WHERE T1.EFFECTIVE_START_DATETIME> T0.EFFECTIVE_START_DATETIME AND T0.OSP_nk = T1.OSP_NK ) FROM SHARED.OSP_GEO_BOUNDARY_DIM T0 – Sreedhar 2010-05-26 05:38:28

1

我懷疑你希望可以用case語句來完成什麼,而是因爲你的問題下面的部分是沒有意義的,我不能給你的代碼:

更新有效endate與最小日期爲準大於有效開始日期的當前記錄。

+0

您好喬爾,分日期對給定的NK比當前記錄開始日期分鐘開始日期。感謝 – Sreedhar 2010-05-26 05:41:09