我需要帮助将一行从旧数据库迁移到新数据库中的多行。

我有一个像这样的数据:

OID       CUSTOMER_NAME     DOB            ADDRESS
1          XYZ              03/04/1987    ABC


在我的新数据库中,我将数据存储在键值对中,例如:

OID      KEY            VALUE
1      CUSTOMER_NAME    XYZ
1      DOB             03/04/1987
1      ADDRESS        ABC


有人请帮助我如何使用TALEND工具执行此操作。

最佳答案

您可以在此处使用链接到同一输出的tMap多个输出作为一种可能的解决方案。但这不是动态的。为什么在源选择查询本身中将单行拆分为多行?

如果您想使用此tmap选项,请参见下文

tOracleInput(任何其他输入)-> tMap-> toutput / tlogrow

将这一行作为tmap组件的输入,并在tmap中创建一个输出组,例如out_1。
现在,在此out_1中,从输入中拖动并链接OID和CUSTOMER_NAME列。
现在,在此tmap中创建另一个输出组out_02,并在出现“添加输出”对话框时
选择“从中创建连接表”,然后在下拉列表中选择out_1组,这样我们out_02组的输出行也将转到out_01组。
因此,我们的tmap将只有一个输出组out_01,其中包含来自out_01和out_02的行。现在在out_02中,拖动并链接OID和DBO列。
同样,对out_03重复此操作,并链接OID和ADDRESS列。

10-05 23:46