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

本文介绍如何使用Kettle实现MySQL与Oracle数据库间的表关联查询。通过设置表输入、参数字段及表输出等步骤,完成从两个不同数据库的表中抽取数据,并将结果输出到指定表的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

当前文章图片都404了,大家可以参考这篇文章,原理是一样的,操作中有什么问题可以向我留言,我回第一时间回复的  kettle中间表值映射

问题描述

在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;
  • 1
  • 2
  • 3

3: 表输出

选中需要的字段进行输出
  • 1
  • 2

4:结果

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值