这里有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 a
LEFT 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.产品ID
LEFT JOIN `a000_city` AS d ON a.城市=d.城市

脚本设置:

3、表输出步骤。

千万不能勾选裁剪表选项 勾选上会把表数据全部删除只导入前7天的数据

kettle导数删除并插入更新数据_20161130的更多相关文章

  1. mysql 插入/更新数据

    mysql 插入/更新数据 INSERT 语句 1.一次性列出全部字段的值,例如: INSERT INTO student VALUES('Chenqi','M', 29); INSERT INTO ...

  2. 【SQL模板】三.插入/更新 数据模板TSQL

    ---Name: 插入/更新 数据模板.sql ---Purpose: 用于更新 数据库中 历史数据 或 插入 新数据 的脚本模板 ---Author: xx ---Time: 2015-12-18 ...

  3. SQL Server ->> DISABLE索引后插入更新数据再REBUILD索引 和 保留索引直接插入更新数据的性能差异

    之前对于“DISABLE索引后插入更新数据再REBUILD索引 和 保留索引直接插入更新数据的性能差异”这两种方法一直认为其实应该差不多,因为无论如何索引最后都需要被维护,只不过是个时间顺序先后的问题 ...

  4. Apex 中插入更新数据的事件执行顺序

    在使用 Apex 代码插入或更新数据的时候,若干事件会被按顺序执行.了解这些顺序可以提高调试程序的效率,也可以避免不必要的错误. 可以参考官方文档. 事件的执行顺序 从数据库中读取要更新的数据记录或初 ...

  5. PHP和数据访问之(插入。删除。和更新数据)

    插入: <?php $conn=@new mysqli('localhost','root','123','mytestdb'); $q_str=<<<EOM insert i ...

  6. Mysql高效插入/更新数据

    从tushare抓取到的财务数据,最开始只是想存下来,用的办法想简单点,是:插入--报错-update 但发现这个方法太蠢,异常会导致大量无效连接,改为: for idx,row in d2.iter ...

  7. SQLServer用存储过程实现插入更新数据

    实现 1)有同样的数据,直接返回(返回值:0): 2)有主键同样,可是数据不同的数据,进行更新处理(返回值:2): 3)没有数据,进行插入数据处理(返回值:1). [创建存储过程] Create pr ...

  8. Oracle pl/sql导入sql文件,插入更新数据,中文乱码问题解决方案

    http://szh-java.iteye.com/blog/1869360 问题描述:用a.sql文件执行insert或update,不论是通过pl/sql还是sqlplus环境下执行,@文件名执行 ...

  9. Oracle CDC (Change Data Capture)更新数据捕获——概述

    Change Data Capture能高效识别并捕获数据的插入.修改和删除,使更新数据供个人或应用使用. CDC从oracle 9i开始引入,//TODO 在11G R2之后的版本里将取消支持,被O ...

随机推荐

  1. 11-BeautifulSoup库详解

    ---恢复内容开始--- 灵活又方便的网页解析库,处理高效,支持多种解析器. 利用它不用编写正则表达式即可方便地实现网页信息的提取. 这个库有四个主要方法吧,其中xlml是最常用的,他的标签选择器可以 ...

  2. Idftp.DirectoryListing 里面的内容为什么会是空的呢?(转)

    最近在项目中要用到FTP上传,用的是delphi的IdFTP控件,用IdFtp.List(list),发现List里面有内容,可 是到IdFtp.DirectoryListing.Items[iCou ...

  3. API -- 图书

    豆瓣IAPI:https://developers.douban.com/wiki/?title=book_v2#get_isbn_book 其他:http://www.cnblogs.com/sop ...

  4. 【C语言】一句printf代码——{ a[0] ? 0[a] }

    这是前段时间做的http://fun.coolshell.cn/中的一道题,很有意思,涉及的其实是C的基础,不过当时第一次看见这行代码确实把我弄懵了: printf(&unix["\ ...

  5. 九度OJ 1027:欧拉回路 (欧拉回路)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2989 解决:1501 题目描述:     欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个图,问是 ...

  6. wimdows安装mongodb,开机启动

    > d: > cd D:\Program Files\MongoDB\Server\3.0\bin > .\mongod --logpath "D:\Program Fil ...

  7. 高德地图API开发二三事(一)如何判断点是否在折线上及引申思考

    最近使用高德地图 JavaScript API 开发地图应用,提炼了不少心得,故写点博文,做个系列总结一下,希望能帮助到LBS开发同胞们. 项目客户端使用高德地图 JavaScript API,主要业 ...

  8. 【题解】Cats Transport (斜率优化+单调队列)

    [题解]Cats Transport (斜率优化+单调队列) # When Who Problem Lang Verdict Time Memory 55331572 Jun/09/2019 19:1 ...

  9. 【题解】 P5022旅行

    [题解]P5022 旅行 当给定你一颗树的时候,这题就是一道送分题,凉心啊! 但是给定你一颗基环树呢? 暴力断环直接跑. 但是数据范围\(n\le 1000\) 乱做就完事了. 考场上这样想的,对于\ ...

  10. 【题解】NOI2015软件包管理器

    [题解][P2146 NOI2015]软件包管理器 实际上就是树链剖分板子题. 对于\(install\)操作,直接查询它到\(0\)节点有多少已经安装了的,再用总数减去它. 对于\(uninstal ...