標籤:image .com sql 商品 dynamic 三級 執行 font style
這裡有3個表 僅是時間維度不同 天 周 月,現在需要把昨天資料每天添加進入這3個表
由於業務上會有退貨等情況,因此需要先把這些表原來的部分資料刪除 再從那個時間點進行更新。
天需要先刪除前7天的資料,周需要刪除前2周資料,月需要刪除2個月之前資料 以保證資料準確
kettle 中提供了執行SQL指令碼控制項,因此我們先刪除原來的資料,以第一個執行SQL指令碼為例。
1、刪除時間為天維度表前7天的資料
DELETE FROM `tb010_02d` WHERE 線上日期>=DATE_ADD(CURRENT_DATE,INTERVAL -7 DAY)
2、進行表的資料插入 表輸入步驟 where 條件以前7天那個時間日期為起點
SQL:
SELECT d.ID,a.城市,a.線上日期,c.商品分類一級,c.商品分類二級,c.商品分類三級,a.產品ID,c.產品名稱,b.匯總單品量,訂單額FROM ( SELECT 城市,DATE(線上日期) AS 線上日期,產品ID FROM `a010_dynamic_產品` WHERE 線上日期>=DATE_ADD(CURRENT_DATE,INTERVAL -7 DAY) AND 線上日期<CURRENT_DATE GROUP BY 城市,DATE(線上日期),產品ID) AS aLEFT JOIN ( SELECT 城市,DATE(訂單日期) AS 訂單日期,產品ID,SUM(匯總單品量) AS 匯總單品量,SUM(金額) AS 訂單額 FROM `a003_order` WHERE 訂單日期>=DATE_ADD(CURRENT_DATE,INTERVAL -7 DAY) AND 訂單日期<CURRENT_DATE AND 金額>0 GROUP BY 城市,DATE(訂單日期),產品ID) AS b ON a.城市=b.城市 AND a.產品ID=b.產品ID AND a.線上日期=b.訂單日期LEFT JOIN `a002_產品` AS c ON a.產品ID=c.產品IDLEFT JOIN `a000_city` AS d ON a.城市=d.城市
指令碼設定:
3、表輸出步驟。
千萬不能勾選裁剪表選項 勾選上會把表資料全部刪除只匯入前7天的資料
kettle導數刪除並插入更新資料_20161130