拆分加入条件

2020-08-18 17:36发布

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

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


专家们,

我希望你一切都好。 我需要在不使用JOIN的情况下中断以下选择查询,任何人都可以帮助我做到这一点。

选择a〜mblnr
a〜mjahr
a〜bldat
a〜budat
a〜xblnr
b〜matnr
b〜werks
b〜lgort < br> b〜erfmg
b〜erfme
b〜j_3asiz
b〜j_4ksca从mkpf作为连接mseg AS b ON(a〜mblnr EQ b〜mblnrAND a〜mjahr EQ b〜mjahr)进入表 g_it_mkpf_mseg

g_it_sales中的所有条目

a〜xblnr均衡器g_it_sales-vbeln_dlv和b〜shkzg均衡器'S'。

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

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


专家们,

我希望你一切都好。 我需要在不使用JOIN的情况下中断以下选择查询,任何人都可以帮助我做到这一点。

选择a〜mblnr
a〜mjahr
a〜bldat
a〜budat
a〜xblnr
b〜matnr
b〜werks
b〜lgort < br> b〜erfmg
b〜erfme
b〜j_3asiz
b〜j_4ksca从mkpf作为连接mseg AS b ON(a〜mblnr EQ b〜mblnrAND a〜mjahr EQ b〜mjahr)进入表 g_it_mkpf_mseg

g_it_sales中的所有条目

a〜xblnr均衡器g_it_sales-vbeln_dlv和b〜shkzg均衡器'S'。

付费偷看设置
发送
7条回答
Nan4612
1楼 · 2020-08-18 18:02.采纳回答

您好 ANIL KUMAR GRANDHI

您可以这样做:

 如果g_it_sales []不初始化。
   SELECT mblnr,mjahr,bldat,budat,xblnr
     从mkpf
     对于@g_it_sales中的所有条目
     在哪里xblnr = @ g_it_sales-vbeln_dlv
     插入表@DATA(lt_mkpf)。
   如果sy-subrc = 0。
     选择mblnr,mjahr,zeile,matnr,werks,lgort,erfmg,erfme,j_3asiz,j_4ksca
       从mseg
       对于@lt_mkpf中的所有条目
       哪里mblnr = @ lt_mkpf-mblnr
         AND mjahr = @ lt_mkpf-mjahr
         AND shkzg ='S'
       插入表@DATA(lt_mseg)。
   万一。
 万一。
 

致谢,

Mateusz

暮风yp
2楼-- · 2020-08-18 17:59

也许您想描述为什么要这么做? 如果您需要两个表的数据都不需要联接,那么您必须通过两个选择并在应用程序服务器级别组合数据来进行丑陋的处理。

clever101
3楼-- · 2020-08-18 18:02

您好ANIL KUMAR GRANDHI

请注意,JOIN应优先于多个选择查询,以避免多次数据库获取。

您上面的选择查询没有几个缺陷,但是要回答在不进行联接的情况下拆分选择查询的问题,您必须了解以下几点。

1)您的FOR ALL ENTRIES表仅适用于MKPF,因此 您的第一个选择查询必须在MKPF上,并且具有表G_IT_SALES的FOR ENTERES。

2)要将MKPF上的第一个查询连接到表MSEG,您必须具有公共键字段,即MBLNR和MJAHR 这个案例。 因此,您的第二个查询将针对MSEG,其中包含从MKPF提取的内部表上的FOR ALL ENRESES以及SHLZG上的where条件。

下面的代码只是伪代码,您可以理解。

 选择mblnr
          杰尔
          布莱达
          布达
          xblnr
  从mkpf
  到表g_it_mkpf
  对于g_it_sales中的所有条目
  在哪里〜xblnr EQ g_it_sales-vbeln_dlv。
   如果sy-subrc EQ 0。
     排序g_it_mkpf。
     选择mblnr
            杰尔
            物质
            怪癖
            奥尔格特
            erfmg
            erfme
            j_3asiz
            j_4ksca
   从mseg
   到表g_it_mseg
   对于g_it_mkpf中的所有条目
   在哪里mblnr EQ g_it_mkpf-mblnr和
         mjahr EQ g_it_mkpf-mjahr和
         shkzg EQ'S'。
     如果sy-subrc EQ 0。
       排序g_it_mseg。
     万一。
   ENDIF。

wang628962
4楼-- · 2020-08-18 18:04

我会保留连接并用GTT或其他解决方案替换FOR FOR ENTRIES:-p

xfwsx85
5楼-- · 2020-08-18 18:12

嗨 ,

我认为您正在尝试优化查询,因为这可能会花费一些时间。您可以按 Satish Kumar Balasubramanian Mateusz Adamus 回复,在基于vbeln_dlv的mkpf上的第一次提取之前,添加了删除相邻重复项。
您还可以尝试找到一种使用主键的方法,以减少时间。

致谢
Abhishek

当学会了学习
6楼-- · 2020-08-18 18:02

感谢您的帮助Adamus:)

木偶小白
7楼-- · 2020-08-18 17:58

感谢您的帮助Satish:)

一周热门 更多>