kettle导数删除并插入更新数据_20161130
这里有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的更多相关文章
- mysql 插入/更新数据
mysql 插入/更新数据 INSERT 语句 1.一次性列出全部字段的值,例如: INSERT INTO student VALUES('Chenqi','M', 29); INSERT INTO ...
- 【SQL模板】三.插入/更新 数据模板TSQL
---Name: 插入/更新 数据模板.sql ---Purpose: 用于更新 数据库中 历史数据 或 插入 新数据 的脚本模板 ---Author: xx ---Time: 2015-12-18 ...
- SQL Server ->> DISABLE索引后插入更新数据再REBUILD索引 和 保留索引直接插入更新数据的性能差异
之前对于“DISABLE索引后插入更新数据再REBUILD索引 和 保留索引直接插入更新数据的性能差异”这两种方法一直认为其实应该差不多,因为无论如何索引最后都需要被维护,只不过是个时间顺序先后的问题 ...
- Apex 中插入更新数据的事件执行顺序
在使用 Apex 代码插入或更新数据的时候,若干事件会被按顺序执行.了解这些顺序可以提高调试程序的效率,也可以避免不必要的错误. 可以参考官方文档. 事件的执行顺序 从数据库中读取要更新的数据记录或初 ...
- PHP和数据访问之(插入。删除。和更新数据)
插入: <?php $conn=@new mysqli('localhost','root','123','mytestdb'); $q_str=<<<EOM insert i ...
- Mysql高效插入/更新数据
从tushare抓取到的财务数据,最开始只是想存下来,用的办法想简单点,是:插入--报错-update 但发现这个方法太蠢,异常会导致大量无效连接,改为: for idx,row in d2.iter ...
- SQLServer用存储过程实现插入更新数据
实现 1)有同样的数据,直接返回(返回值:0): 2)有主键同样,可是数据不同的数据,进行更新处理(返回值:2): 3)没有数据,进行插入数据处理(返回值:1). [创建存储过程] Create pr ...
- Oracle pl/sql导入sql文件,插入更新数据,中文乱码问题解决方案
http://szh-java.iteye.com/blog/1869360 问题描述:用a.sql文件执行insert或update,不论是通过pl/sql还是sqlplus环境下执行,@文件名执行 ...
- Oracle CDC (Change Data Capture)更新数据捕获——概述
Change Data Capture能高效识别并捕获数据的插入.修改和删除,使更新数据供个人或应用使用. CDC从oracle 9i开始引入,//TODO 在11G R2之后的版本里将取消支持,被O ...
随机推荐
- S:33184777
https://github.com/wjlWork/Crawl/tree/da0b63bc43bd7c238963f834a11df2581cecfb9c https://github.com/wh ...
- python sax解析xml
#books.xml<catalog> <book isbn="0-596-00128-2"> <title>Python & XML& ...
- Chrome自带恐龙小游戏的源码研究(六)
在上一篇<Chrome自带恐龙小游戏的源码研究(五)>中实现了眨眼睛的恐龙,这一篇主要研究恐龙的跳跃. 恐龙的跳跃 游戏通过敲击键盘的Spacebar或者Up来实现恐龙的跳跃.先用一张图来 ...
- 卡特兰数-Catalan数
卡特兰数的含义: 说到卡特兰数,就不得不提及卡特兰数序列.卡特兰数序列是一个整数序列.其通项公式是我们从中取出的就叫做第n个卡特兰数数,前几个卡特兰数数是:1, 1, 2, 5, 14, 42, 13 ...
- 关于erlang的-run 的启动参数
在github上,关于erlang的一致性hash,有erlang-ryng和 hash_ring .在这里先聊下erlang-ryng这个. 在erlang-ryng的启动方式上,github上提供 ...
- 05 redis中的Setbit位图法统计活跃用户
一:场景=>>>长轮询Ajax,在线聊天时,能够用到 Setbit 的实际应用 场景: 1亿个用户, 每个用户 登陆/做任意操作 ,记为 今天活跃,否则记为不活跃 每周评出: 有奖活 ...
- 抽钻石vs中奖门 概率问题
在概率问题中,假设跟着日常经验与感觉走.常常会得到错误的答案.以下"抽钻石"的故事非常可以说明这一点. 题目一:某天电视台举办了这种一个游戏节目.主持人首先拿出三个盒子.已知这三个 ...
- windows 10 python 2.7和python3.6共存解决方法和pip安装
一.首先去python官网将两个版本下载并安装: 然后进入windows的环境变量,检查下面4个变量: 1.C:\Python272.C:\Python27\Scripts3.D:\software\ ...
- cocos2d-x 3.2 for wp8-xaml应用商店提交应用时出现的API错误(不能用CreateEventExA)解决的方法
好不easy做完一个游戏.提交到商店显示"本地API不支持CreateEventExA"之类的错误提示 于是我在整个解决方式里查找CreateEventExA,发现没有,却在Aud ...
- 【BZOJ1499】[NOI2005]瑰丽华尔兹 单调队列+DP
[BZOJ1499][NOI2005]瑰丽华尔兹 Description 你跳过华尔兹吗?当音乐响起,当你随着旋律滑动舞步,是不是有一种漫步仙境的惬意?众所周知,跳华尔兹时,最重要的是有好的音乐.但是 ...