Abap内部联接问题

2020-09-01 01:51发布

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

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


我在abap中执行内部连接时遇到错误。我在调试器屏幕中检查了它,但没有任何解决方案。请尽快帮助我解决此问题。

img-20191013-wa0009.jpg (4.0 kB)

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

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


我在abap中执行内部连接时遇到错误。我在调试器屏幕中检查了它,但没有任何解决方案。请尽快帮助我解决此问题。

img-20191013-wa0009.jpg (4.0 kB)
付费偷看设置
发送
4条回答
梦想连接
1楼-- · 2020-09-01 02:18

您好 Koushik Bose

您对INNER JOIN没错, 您的目标数据结构出现问题!

您定义了一个内部排序表,该表具有唯一键MATNR,ERNAME,MAKTX。 但是此SELECT语句返回具有相等字段值的多行!

因此,您可以将查询更改为

 SELECT DISTINCT MR〜MATNR MR〜ERNAME MK〜MAKTX ... 

,或者将mytable的密钥更改为非唯一:

 ... WITH NON-UNIQUE KEY ... 

此致

Domi

愤怒的猪头君
2楼-- · 2020-09-01 02:06

请复制您的代码,并在编辑器中使用" CODE"选项。

我是小鹏鹏啊
3楼-- · 2020-09-01 02:12

你好 Koushik Bose

问题不在于join语句,而在于结果数据。 您正在获取的数据具有重复的条目,换句话说,对于您给出的where条件,数据库中有多个条目。

您可以通过提供相同的where条件在SE11 tcode的后端中检查相同的内容。

您可以在内部表声明中使用NON UNIQUE KEY,也可以在select语句中使用SELECT DISTINCT。

另一个解决方案是,您可以将表声明为标准表而不是Sorted,然后在select语句后对表进行排序。

根据您使用NON UNIQUE KEY或STANDARD代替SORTED合并的逻辑,将是理想的解决方案。

请下次使用"代码"按钮粘贴代码。

希望这会有所帮助!!!

致谢!

Alawn_Xu
4楼-- · 2020-09-01 02:14

您必须在进入MAKT时提供语言密钥,并使用左连接。 喜欢:

在MAkt〜matnr均衡器mara〜matnr和makt〜spras均衡器sy-langu上左加入makt 

一周热门 更多>