kettle 多表级联 将多个表格的查询的数据插入到一个表格中

转自:https://blog.csdn.net/bird_tp/article/details/83784017

1. kettle 多表级联 将多个表格的查询的数据插入到一个表格中:  https://blog.csdn.net/bird_tp/article/details/83784017

2. 关于kettle 多表数据输入到同一个目标表中,并添加序列的问题: https://bbs.csdn.net/topics/390882049

3. KETTLE实现循环批量多表抽取添加字段: https://blog.csdn.net/qq_41704358/article/details/79519133

4. kettle 实现字段合并插入到另一个数据表: https://blog.csdn.net/bird_tp/article/details/83758749

5. Kettle 使用JS脚本 增加UUID输出列: https://www.jianshu.com/p/d105ae70b15d

6. 关于Kettle增加序列的问题: https://bbs.csdn.net/topics/391956760

7. kettle工具如何自动生成id: https://zhidao.baidu.com/question/546817952.html

8. kettle工具如何自动生成id: https://zhidao.baidu.com/question/546817952.html

 

 

1.首先新建数据库表格

use testA;
create table userC(
    id int primary key,
    name varchar(50),
    age int
)
go

insert into userC values(10001,'张三',20);
insert into userC values(10002,'李四',25);
insert into userC values(10003,'王五',22);

-- 商品表
create table goods(
    id int primary key,
    name varchar(50),
    price float(16)
)
go

insert into goods values(1000001,'苹果',6.5);
insert into goods values(1000002,'橘子',2.5);
insert into goods values(1000003,'香蕉',1.5);

-- 订单表
create table orderC(
    id int primary key,
    user_id varchar(50),
    goods_id int
)
go

insert into orderC values(1,10001,1000001);
insert into orderC values(2,10001,1000002);
insert into orderC values(3,10003,1000001);
insert into orderC values(4,10003,1000001);
insert into orderC values(5,10002,1000002);
insert into orderC values(6,10002,1000003);


create database testB;
use testB;
-- 订单详情表
create table order_detail(
    id int primary key,
    user_name varchar(50),
    user_age int,
    goods_name varchar(50),
    goods_price float(16)
)
go

2.kettle实现

运行软件,进入主界面。点击左上角的 文件 → 新建 → 转换新建一个转换,并保存,转换的后缀名为ktr。

2、点击面板左侧的 主对象树 ,选择 DB连接 右键,选择 新建 或 新建数据库连接向导 分别创建对数据库A和数据库B的连接。

选择“新建”选项的操作视图

3、点击面板左侧的 核心对象 ,选择 输入文件夹下的 表输入 并把它拖到右侧的编辑区中。

4、双击编辑区的“表输出”图标,编辑数据输入源。此处为多表联合查询,所以表输入我们配置的表为订单表(关联关系表)

5、点击面板左侧的** 核心对象 ,选择 查询 ** 文件夹下的 ** 数据库查询 **,并把它拖到右侧的编辑区中,按住 shift 画线连接 “表输入”,如下图。

6、双击编辑区的“数据库查询”,图标,配置级联查询关系。

  • 查询表返回的值,即为我们需要通过关联表“user”,获取到的字段。

  • 类似的,我们按照上述方法,配置商品表关联查询。

7、点击面板左侧的** 核心对象 ,选择 输出 ** 文件夹下的 ** 插入/更新 **,并把它拖到右侧的编辑区中,按住 shift 画线连接 “数据库查询”(goods),如下图。

8、双击右侧编辑区的“查询/更新”图标,编辑输出数据对应关系。

用来查询的关键字,此处只选择主键id,表示这里按照id查询,如果此id存在,则更新数据,若不存在则插入数据。

9、到这里,我们最简单的一个级联查询的转换已经建立完成了,点击“校验这个转换”,Kettle会校验并给出简单的报告。没有任何问题。

10、点击“运行这个转换”,选择“本地执行”,点击“启动”来执行这个转换。


转载:https://www.jianshu.com/p/b017c5c9234f

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值