使用ODI 10将2个不同的表映射到一个表中

时间:2018-03-19 09:42:33

标签: oracle oracle10g mapping oracle-data-integrator

我正在创建一个"临时" (过渡)表:" Abis"必须是表格的副本(相同的结构)" A"添加数据和通过其他表格更新几个字段(B,C,D,E)。

我有一个主键,基于" A"中的2个字段。 (A.a和A.b)出现在" Abis" (Abis.a和Abis.b)以及" B" (B.a和B.b)。

我在A和B之间进行了完全连接:A.a = B.a和A.b = B.b。

我必须用什么样的映射来喂养我的" Abis"关于Abis.a和Abis.b的表格,恢复A(A.a + A.b)的所有关键组合以及A中不存在的B(B.a + B.b)的所有关键组合。

我测试过 "当A.a不在B.a而不是A.a Else B.a End"

时的情况

但是查询无限期地转变。

总结: 目标数据库:Abis 图:A,B,C,D,E 加入:A.a = B.a和A.b = B.b(完全加入) 行数:表A~6000,表B~40000 软件:ODI 10.1.3.5(Oracle Data Integrator)

谢谢:)

1 个答案:

答案 0 :(得分:0)

好的我几乎用DECODE函数解决了我的问题

我尝试了NVL功能,但它没有给出我想要的功能。

与NVL类似的功能是DECODE。 https://www.techonthenet.com/oracle/functions/decode.php

  • Abis.a上的映射>解码(A.a,0,B.a,A.a)
  • Abis.b上的映射>解码(A.b,0,B.b,A.b)