创建表
CREATE TABLE `test_a` (
`id` int(11) NOT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `test_b` (
`id` int(11) NOT NULL,
`email` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
创建转换,增加数据源
文件->新建->转换
新建转换
右键新建数据源
配置数据源
增加两个表输入
表输入
填写数据源和sql
数据查询sql
添加一个连接,随便选择一种,不同组件略有不同
连接组件
选择连接字段和连接方式,类似我们写sql的join
连接方式
会提示连接前请先排序,那么假如两个排序组件
排序组建
根据连接字段排序
排序
创建接收的目标表
CREATE TABLE `test_c` (
`id` int(11) NOT NULL,
`name` varchar(255) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
增加表输出
表输出
表输出配置
增加测试数据
测试数据
测试数据
执行脚本看看结果
执行结果
完成, 提示,每一步中的填写字段时可以先获取字段再修改,这样输入比较快速,
获取字段
到这里就基本完成了,如果要完美一下,比如这个脚本如果重复执行肯定会报错,那么怎么办呢?可以执行之前再加一个删除c表中已有数据的操作,也可以执行表输入的时候先查询c表再对已有数据进行跟新或插入(这种方式效率较前者慢)