在talend中根据目标表的条件加载数据

时间:2018-01-12 06:05:28

标签: talend talend-mdm

我有一个表(目标)有5行,其中一列名称:slno有值(12,13,14,34,56),我需要根据目标的最大值从源表加载数据到目标。

示例:

如果在源表中slno列的值为(12,13,14,34,56,88,89,90,99),则只有(88,89,90,99)值应该转到目标(以及所有行值),基本上我需要从目标中找到最大值并基于该值我需要在该值之后加载行。

我尝试使用tJavaRowtSetGlobalVartAggregateRow,但无法弄清楚如何映射。

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点。

如果源表和目标表位于同一个数据库中,则可以按如下方式过滤源查询:

select *
from source
where slno > (select max(slno) from target)

然后加载目标表中的行。

但如果不是,你可以在Talend中做到:

enter image description here

目标查找获取slno的最大值:

SELECT max(slno)
FROM target

其架构只包含一列(max_slno):

enter image description here

tMap内,只发送源的slno大于目标slno的最大值的行:

enter image description here

相关问题