合并不同领域的线

2020-08-15 07:08发布

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

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


我正在尝试使用SQ02" infoset creation"操作联接3个表。 这些表有一个公共键字段,即连接器ID,

3个表还具有一个带有不同值的" Action"字段; 有什么办法可以水平组合这些值的线吗?

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

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


我正在尝试使用SQ02" infoset creation"操作联接3个表。 这些表有一个公共键字段,即连接器ID,

3个表还具有一个带有不同值的" Action"字段; 有什么办法可以水平组合这些值的线吗?

付费偷看设置
发送
5条回答
zhangjiyang1323
1楼 · 2020-08-15 07:38.采纳回答

很抱歉再次提出要求,但仍不能100%明确您要实现的目标。

a)您现在拥有什么:

当前,您可能 通过它们的主/次ID将所有4个表连接起来,从而根据它们的来源导致特定的表列,因此GRACACTUSAGE〜Action <> GRACCHANGELOG〜Action:

 |  GRACFFLOG〜FFLOG_ID |  GRACACTUSAGE〜动作|  GRACCHANGELOG〜动作|
 ==================================================  =================
 |  1 | 动作| 动作|
 

b)您想要的是:

但是,您希望获得的记录与仅连接GRACFFLOG,GRACREPMAPP和GRACACTUSAGE分开,而不是通过它们的辅助ID联接所有4个表 来自GRACFFLOG和GRACCHANGELOG的记录,导致两个选择的并集正确吗?

 |  GRACFFLOG〜FFLOG_ID |  GRACACTUSAGE/GRACCHANGELOG〜动作|
 ==================================================  ========
 |  1 | 动作|
 |  1 | 动作|
 

c)如何使用信息集进行UNION选择:

信息集要么支持单个数据库选择,要么加入数据库,但不支持select语句的并集。

要执行合并,您需要使用"集成数据读取程序"制作一个INFOSET。 在此程序中,您需要从第一个表中选择数据,然后再从第二个表中附加数据,例如:

"首先选择
 选择GRACFFLOG〜FFLOG_ID GRACACTUSAGE〜操作
   来自GRACFFLOG
   GRACFFLOG〜FFLOG_ID上的内部联接GRACREPMAP = GRACREPMAP〜FFLOG_ID
   GRACREPMAP〜ACTION_ID上的内部联接GRACACTUSAGE = GRACACTUSAGE〜ACTION_USAGE_ID
   到表it_data
   哪里(wherestatement)。

 "第二选择
 选择GRACFFLOG〜FFLOG_ID GRACCHANGELOG〜动作
   来自GRACFFLOG
   GRACFFLOG〜FFLOG_ID上的内部联接GRACCHANGELOG = GRACCHANGELOG〜FFLOG_ID
   追加表it_data"追加,因此不会删除现有记录
   在哪里(wherestatement)。
能不能别闹
2楼-- · 2020-08-15 07:38

您可以进行可视化和/或示例表和"连接"来阐明您的要求吗?

zhangjiyang1323
3楼-- · 2020-08-15 07:49

以下是我的信息集的可视化 和所需的最终输出

小熊yu生菜
4楼-- · 2020-08-15 07:56

如果要所有记录,则不需要where子句。 如果要基于固定限制或基于必须向下传递的用户选择来选择记录,则需要为where语句包括限制。 这些属性可以通过属性"硬编码"(例如" WHERE fflog_id = p_param ..."或" WHERE fflog_id IN so_param AND attr2 = p_param2 ..."),也可以基于"动态"字符串(例如" WHERE" (lv_where_clause)")。

clasier
5楼-- · 2020-08-15 07:42

是的,这就是我想要做的。

谢谢您的详细回答:D

最后一个问题:在"哪里"之后应该添加什么?

一周热门 更多>