首页 > 解决方案 > 使用 Talend 删除最旧的数据

问题描述

我需要删除我在 Talend 数据库中拥有的每个用户的最早地址。我假设数据库中的所有用户都有多个地址。用户必须属于“学生”用户组。地址在 user_address 表中(包括示例行):

   id   user_id    address_1      address_2     city     country     created_date
    1      1      1 Rosebery Pl                 London      UK        2017-03-12

用户组位于 user_group 表中(包括示例行):

   user_id    usergroup
      1        Student

我需要什么组件?这是我到目前为止所拥有的,但不确定它是否正确。

tFileList -> Iterate -> tFileProperties -> Main -> tUnite -> Main -> tSortRow -> Main -> tSampleRow -> Main -> tFileDelet

标签: talend

解决方案


首先ASC使用tDBInput组件按顺序获取数据,将最旧的数据放在最上面:

select id, user_id, address_1, address_2, city, country
from student
order by created_date ASC

使用 tMap 获取 First Match 记录

该图表示使用 tDBOutput 删除地址表中最旧记录的组件映射


推荐阅读