-1
請幫我下面:更新列基於
表AR_X_LO是一個SCD類型2表。 ETL中存在一個錯誤,其結果是改變的記錄還沒有結束日期,例如,
AR_X_LO_TP_ID AR_ID EFF_TMS LO_ID RANK END_TMS ORIG_SRC_STM_ID RT_TMS
------------- ------- ------------------- -------- ---- ---------- --------------- ----------
802 6751231 2016-06-08 00:00:00 39748325 1 NULL 9643 2016-06-09
802 6751231 2015-05-02 00:00:00 29496916 1 NULL 9643 2015-05-04
ETL應該以新行的EFF_TMS結束更改的行 - 1天。
AR_X_LO_TP_ID AR_ID EFF_TMS LO_ID RANK END_TMS ORIG_SRC_STM_ID RT_TMS
------------- ------- ------------------- -------- ---- ---------- --------------- ----------
802 6751231 2016-06-08 39748325 1 NULL 9643 2016-06-09
802 6751231 2015-05-02 29496916 1 2016-06-07 9643 2015-05-04
我想寫一個SQL查詢,對於每個AR_ID,AR_X_LO_TP_ID,RANK,ORIG_SRC_STM_ID組合返回什麼END_TMS應該是。
你只想要一個查詢(SELECT?)還是一個更新? – APC
請解釋爲什麼sas和oracle被標記。您是否運行連接到Oracle數據庫後端的SAS程序?你需要一個'proc sql'解決方案嗎? – Parfait
請發佈您迄今爲止所嘗試的內容。另外,根據'錯誤',也許你可以在過程中修復它。 – Reeza