从哪个表中对所有条目进行选择

  • 本文关键字:行选 选择 sql abap
  • 更新时间 :
  • 英文 :


我有两个标准表,VBAPMAKT。我想要MAKT-MAKTX的元素,其中MAKT-MATNR = VBAP - MATNR。

SELECT MATNR FROM VBAP INTO IT_VBAP.
SELECT MATNR MAKTX FROM MAKT INTO IT_MAKT FOR ALL ENTRIES WHERE MATNR = IT_VBAP.

此代码是否选择只有这些 matnr 字段相等的it_makt值?

对所有条目的确切作用。

谢谢。

 select field_1 field_2 field_n from table into internal_table for all
 entries in another_internal_table where some_field_in_table = another_internal_table-same_field_in_another_internal_table.

当您要根据另一个内部表中的值填充内部表时,可以使用所有条目。

您可以尝试使用以下方法

select matnr from vbap into it_vbap.
select maktx from makt into it_makt for all entries in it_vbap where matnr = it_vbap-matnr.

对于所有条目来说,您可能会在阅读时认为。它是这样的:

"对于 in 中的所有条目"允许您使用内部表的子集作为 select 语句中的 where 条件,方法是在 select 语句中提供此内部表的字段作为 where 条件参数。

所以,在内部它也只是一个循环,你可以使用 sql-monitor 事务,并且大多数情况下会看到,如果我没记错的话,所有条目的行为确实像循环中的选择。它非常有帮助,并且通常相对频繁地使用。

如果用作参数表的子集表为空,则执行全表选择(全表扫描),如果您仅将表字段用作 where 参数。因此,请始终注意填充您的位置表的选择或检查其内容 if lines( the_table ) > 0. 尽管如此,看看 vwegert 的链接,它描述了所有条目的优缺点。您需要更多信息吗?

相关内容

  • 没有找到相关文章

最新更新