讓我通過解釋我的表格來解釋我想要的。每月追溯更新
月1 -
表IMEI_SALES - 此表每月更新。 sale_date列是所有表的min(sale_date)。因此,不能有另一個具有相同sale_date的IMEI。
imei sale_date month tfm tfm1 tmf2 tfm3
------ --------- ----- ---- ---- ---- ----
354205080163741 01/08/2017 201708 null null null null
354205080163742 01/08/2017 201708 null null null null
354205080163743 13/08/2017 201708 null null null null
目前爲期一個月
業務表 - 在這裏,我得到了交通。同樣的日期也不可能有imei。這個表創建並每月下降。
imei traffic_date tr_month
------ --------- -----
354205080163741 01/08/2017 201708
354205080163742 01/08/2017 201708
354205080163743 13/08/2017 201708
所以在當月結束。我有我的IMEI_SALES TABLE和流量表。我需要做的是更新流量的tfm的colums。我可以手動執行此操作。所以在8月底的表IMEI_SALES應該看起來像這樣。
imei sale_date month tfm tfm1 tmf2 tfm3
------ --------- ----- ---- ---- ---- ----
354205080163741 01/08/2017 201708 01/08/2017 null null null
354205080163742 01/08/2017 201708 01/08/2017 null null null
354205080163743 13/08/2017 201708 13/08/2017 null null null
- TFM:是從Traffic_date表traffic_date。
- tfm1:是來自Traffic_date表下月 (9月)的traffic_date。
- tfm2:tfm1:是從Traffic_date表中接下來的2 個月(10月)traffic_date
- tfm3:tfm1:是從下一個3 個月(Nomvember)的Traffic_date表traffic_date
限制是當前月份+3。我們來看看下個月會發生什麼。
下個月 -
表IMEI_SALES。 9月份在這裏新增了一排。
imei sale_date month tfm tfm1 tmf2 tfm3
------ --------- ----- ---- ---- ---- ----
354205080163741 01/08/2017 201708 01/08/2017 null null null
354205080163742 01/08/2017 201708 01/08/2017 null null null
354205080163743 13/08/2017 201708 13/08/2017 null null null
354205080163741 01/09/2017 201709 null null null null
354205080132131 01/09/2017 201709 null null null null
354205080163425 13/09/2017 201709 null null null null
流量表 - 前一個被丟棄。
IMEI 354205080163741,354205080163742,354205080163743與相同的日子和從sale_date開始的3個月內匹配。
IMEI 354205080132131與不同日期匹配,並且距離sale_date的3個月內。
IMEI 354205080163425流量表中不匹配。
imei traffic_date tr_month
------ --------- -----
354205080163741 01/09/2017 201709
354205080163742 01/09/2017 201709
354205080163743 01/09/2017 201709
354205080132131 02/09/2017 201709
354243774312421 14/09/2017 201709
更新IMEI_SALES表時,它應該看起來像這樣。
imei sale_date month tfm tfm1 tmf2 tfm3
------ --------- ----- ---- ---- ---- ----
354205080163741 01/08/2017 201708 01/08/2017 01/09/2017 null null
354205080163742 01/08/2017 201708 01/08/2017 01/09/2017 null null
354205080163743 13/08/2017 201708 13/08/2017 01/09/2017 null null
354205080163741 01/09/2017 201709 01/09/2017 null null null
354205080132131 01/09/2017 201709 02/09/2017 null null null
354205080163425 13/09/2017 201709 null null null null
例如,讓我們說在12月份,我會在9月份到12月份的銷售量和流量表上做相同的處理。你將不得不匹配八月
- 銷售VS(AugustTraffic,月流量,月流量 和十一月交通)
銷售在九月VS(月流量,月流量,月 交通和十二月交通)
銷售在十月VS(十月交通,交通十一月和十二月 交通)
銷售在十一月VS(十一月Tr的交通和12月交通)
12月銷售與12月交通。
我需要使用Teradata sql和Powershell來自動執行此操作。甲骨文也受到歡迎。是否可以用我剛纔提到的限制?
非常感謝!
什麼是防止實現此更新的具體問題? 您與更新sql鬥爭?或從PowerShell運行它? – wolfrevokcats
我知道如何手動完成。我正在努力使邏輯自動化。 – gabuglc
所以你的問題是如何對自動化使用PowerShell在Teradata數據庫的查詢? – Andrew