请您帮忙看看.谢谢
已知
表1
mail name pass
123@123.com 123 password1
1234@123.com 1234 password2
12345@123.com 12345 password3
表2
mail name pass
123@123.com 123 password1
1234@123.com 1234 password21
4321@123.com 4321 password4
表3
id mail name pass
1234@123.com 1234 password2
表2为不断增长的表mail为主键,需要不断的同表1进行比对,实现以下要求:
---表1没有的mail项,将表2中的该条数据添入到表1作为新数据
---表1中有的mail项,并且pass项相同则不作任何操作
---表1中有的mail项,并且pass项不相同,则先将表1中的该条数据填入表3,但是如果该数据表3中有就丢弃。
(***这个地方我只会将查出不同的表2数据加!) 然后用表2中的密码去更新表1。
~~~~~
我是这么做的
控制流:
数据流任务1
:(完成新数据插入) 数据源(表2)
|
查找(表1),映射mail
|
错误结果插入数据目标(表1)
数据流任务2:
:(完成历史数据插入表3) 数据源(表1)
|
查找(表2),映射mail
|
成功结果查找(表2)映射mail,key
(报错) |
失败结果查找(表3)映射mail,key
|
失败结果插入数据目标(表3)
数据流任务1
:(完成更新数据) 数据源(表2)
|
查找(表1),映射mail key
|
更新(表1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果我将数据流任务2改成:
:(完成历史数据插入表3) 数据源(表1)
|
查找(表2)映射mail,key
|
失败结果查找(表3)映射mail,key
|
失败结果插入数据目标(表3)
这样是成功的,但是有个问题,表1中的12345@123.com 12345 password3 这条表2中没有,但是也被插入到了表3 怎么解决???