如何使用MERGE或SQL Transform进行完全外部联接

2020-09-04 08:06发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,我想使用合并或Sql转换来进行完全外部联接,请告诉我以下示例是否可行。

(表1)

------------------->(查询)-------->(输出)

(表2)

>>表1的记录从1到4。

>>表2的记录从5到10。

>>>目标应显示从1到10的所有记录。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,我想使用合并或Sql转换来进行完全外部联接,请告诉我以下示例是否可行。

(表1)

------------------->(查询)-------->(输出)

(表2)

>>表1的记录从1到4。

>>表2的记录从5到10。

>>>目标应显示从1到10的所有记录。

付费偷看设置
发送
3条回答
当学会了学习
1楼-- · 2020-09-04 08:27

嗨,

也许您正在寻找2个表之间的联合,而不是完全外部联接,因为后者无法提供您期望的结果。

由于您不想使用SQL或合并转换,因此我建议采用以下解决方案。

要让目标显示1到10的所有记录(假设元数据相同),只需创建2个连接的数据流:

DF1。 (表1)------------------->(查询1)-------->(输出)

DF2。 (表2)---------------------------------->(查询2)-------->(输出)

保留相同的目标(输出),并且不要删除表或删除数据。 DF1将插入记录1至4,DF2将插入记录5至10。

谢谢

ZJXianG
2楼-- · 2020-09-04 08:20

嗨vinayak,

感谢您的出色回答,实际上我的要求是在不使用合并或sql转换的情况下建立完全外部联接。

我遵循上述逻辑,但是我得到的记录不匹配,但是我需要两个表中的所有行。

感谢与问候

kanshi y

宇峰Kouji
3楼-- · 2020-09-04 08:12

您是如何达到此要求的? 听起来像是解决难题的方法:)

不确定您的预期输出是什么。

>>表1的记录从1到4。

>>表2的记录从5到10。

进行完全外部联接时,同一列中的值不能为1到10。

选择
    表1.第1列,
    表2.列1
 从
    表1完整的外部联接表2
    在Table1.Column1 = Table2.Column1上
 排序依据
    表1.第1列,
    表2.Column1 

这将导致

   表1.列1表2.列1
           1个
           2
           3
           4
                            5
                            6
                            。
                            。
                           10 

如果您希望在Target的同一列中使用1到10之间的值,则可以尝试以下提到的步骤

  1. 表1 >>表比较>>映射操作>>目标
  2. 在"表比较"中,使用适当的"输入"主键列将表1与表2进行比较
  3. 选中"从比较表中检测已删除的行"选项
  4. 在所有输入行类型的地图操作中,选择"插入"作为输出行类型
  5. 将地图操作连接到目标。

输出将是:

第1列

1

2

10

一周热门 更多>