在使用kettle,查询2个数据库中的表作为输入,输出到另外表中

问题描述
在mysql数据库中存在dept(部门表),在oracle数据库中存在emp(员工表),需要执行(SELECT d.*,e.* FROM dept d,emp e WHERE d.id=e.id;) 的操作进行查询。
使用kettle的“查询”>“数据库连接”来完成

事例图片

mysql 的 dept 与oracle emp的表结构(dept.id与 emp.id进行关联)

mysql

mysql> desc dept;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| ID       | int(11)      | NO   | PRI | NULL    | auto_increment |
| DEPTNAME | varchar(255) | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+
oracle emp

SQL> desc emp;
Name  Type          Nullable Default Comments 
----- ------------- -------- ------- -------- 
EID   INTEGER       Y                         
ENAME VARCHAR2(255) Y                         
ID    INTEGER       Y    

1:表输入 dept

mysql表输入

2:oracle表输入

1:Parameter参数字段取的是第一个表输入的字段。
2: 如果勾选了“Outer join” 默认是进行了左连接,类似以sql的SELECT d.* ,e.* FROM dept d LEFT JOIN emp e ON d.Id=e.id;

3: 表输出

选中需要的字段进行输出

4:结果

Logo

更多推荐