与DISTINCT一起执行多个JOIN

2020-09-14 08:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的ABAP大师 早上...

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

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


亲爱的ABAP大师

早上好,目前我们的SAP系统已升级到:

S4HANA的西北部S/4HANA 1709的西北部7.52

SAP_ABAP 75C/SP2

对于下面使用DISTINCT和多JOIN进行编码,是否将其视为BAD编码?

我应该只用JOIN进行更改,以后再使用DELETE DUPLICATE吗?

使用INNER + LEFT OUTER进行联接也会影响性能吗?

 SELECT DISTINCT a〜matnr,a〜mtart,a〜matkl,a〜meins,a〜lvorm,
            b〜werks,b〜lgort,b〜charg,((b〜clabs + b〜ceinm))AS数量,
            c〜vfdat,c〜zustd,c〜lwedt,
            d〜maktx,
            e〜stprs,
            g〜waers,
            h〜prgrp,
            h〜werks
       来自mara AS
       内联mchb AS b
          开a〜matnr = b〜matnr
       内联接mch1 AS c
          开c〜matnr = b〜matnr
         与c〜charg = b〜charg
       左外连接MAkt AS d
          开d〜matnr = a〜matnr
       内部连接mbew AS e
          开e〜matnr = a〜matnr
          与e〜bwkey = b〜werks
       内胎t001k AS f
          开f〜bwkey = b〜werks
       内接头t001 AS g
          开g〜bukrs = f〜bukrs
       左外加入pgmi AS h
          开b〜matnr = h〜nrmit
         AND b〜werks = h〜wemit
       @it_s_matnr在哪里
         和一个〜mtart IN @it_s_mtart
         和一个〜matkl IN @it_s_matkl
         和b〜lgort IN @it_s_lgort
         与b〜werks EQ @i_werks
         AND c〜vfdat LE @(sy-datum + i_days)
         与c〜vfdat NE @l_vfdat
         和d〜spras EQ @gc_en
       INTO TABLE @gt_data。

 

请忠告。

非常感谢。

最好的问候

关。