两个表之间的左连接

2020-08-14 14:52发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)要仅从左表中获取数据,我必须使用...

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

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


要仅从左表中获取数据,我必须使用右左联接?

这是代码:

选择*

来自马克

marc上的左外部连接mseg〜matnr = mseg〜matnr和marc〜werks = mseg〜werks

进入表it_marc的对应字段

其中s_plant中的marc〜WERKS和mseg中的〜CPUTM_MKPF> = sy-uzeit。

给我这个错误:

如果使用新的Open SQL语法,则必须使用@对所有主机变量进行转义。 变量S_PLANT不会转义。

3条回答
闻人可可
2020-08-14 15:49

您要查找的内容并不意味着JOIN,而是表明存在:

 DATA dummy_plant TYPE marc-werks。
 SELECT_OPTIONS s_plant用于dummy_plant。
 数据it_marc马克类型表。
 选择*从马克
   在哪里marc〜werks在@s_plant
     和存在(
       选择*从mseg
       哪里marc〜matnr = mseg〜matnr
         AND marc〜werks = mseg〜werks
         和mseg〜cputm_mkpf> = @ sy-uzeit)
  进入表@it_marc。  

在我看来,您似乎应该同时测试CPUTM_MKPF和CPUDT_MKPF:

 AND(mseg〜CPUDT_MKPF> @ sy-datum
    或(mseg〜CPUDT_MKPF = @ sy-datum
     AND mseg〜cputm_mkpf> = @ sy-uzeit))

注意:由于目标数据对象与数据库表具有相同的结构,因此删除了CORRESPONDING FIELDS。

一周热门 更多>