点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我在选择查询时遇到了问题,我正在创建一个SD报表,在该报表中,我从4个表(VBAK,VBPA,VBKD,KONV)中获取数据。
VBAK字段是vbeln,auart,vkorg,vtweg,spart,vgrp,ernam,audat,knumv。
VBPA字段是parvw,kunnr。 (通过vbak- vbeln)
VBKD字段为bskd,bstdk。(通过vbak-vbeln)
KONV字段是kschl,knumv,kwert,kawrt。 (通过vbak-knumv)
我能够从VBAK VBPA VBKD成功获取数据,但是从KONV获取数据时遇到了问题。
从KONV获取数据的条件是:-
vbak-knumv中的knumv。
并且KSCHL应该等于'JOIG'或'JOCG'或'JOSG'。
如果满足上述条件,则应从KONV选择kawrt和kewrt。
当我在单个select语句中定义所有条件时,我正在使用delete语句查找查询,这需要大量时间来获取数据。所以,我正在尝试通过以下方式进行操作:-
<<<<从LT_VBAK中所有条目的KONV到表LT_KONV中选择kschl knumv kwert kawrt
其中KNUMV = LT_VBAK-KNUMV。
删除LT_VBAK,其中kschl NE'JOIG'或'JOCG'或'JOSG'。>>>>
但是我没有得到数据。
有人可以建议我做些更好的方法或修改吗!
谢谢。
嗨,阿钦,
主要问题是:您是不是从数据库(因此是从SELECT语句)获得数据,还是在使用DELETE语句处理内部表之后没有获得任何数据?
如果是后者,那么起初我建议将您的DELETE条件合并到SELECT语句中:
如果上述方法不起作用-则意味着您的算法中存在逻辑问题,并且数据不在DB中(根据您的逻辑)。
希望有帮助,
最诚挚的问候,
Marcin
嗨Marcin,
在您的帮助下,我的问题现在已解决。
谢谢。
阿钦。
令我惊讶的是,还没有人提到这个问题:为什么只从KONV表中直接删除数据? KONM表(刻度)中也可能有数据,而没有。 通常不需要客户直接更新标准SAP表。
"如何将DELETE语句与SELECT语句合并"
该一般问题的一般答案是
在哪里删除(子查询 a>)。
Jelena,Horst,
实际上Achin提出的问题具有误导性-他不想删除数据库数据,他只是在组合SQL SELECT语句 由于性能原因,使用内部表DELETE操作。
这意味着DELETE仅适用于先前获取的内部表数据。 他之所以选择这种方式,是因为在SQL中使用相同的条件会导致运行时间更长。
一周热门 更多>