繁体   English   中英

ABAP 将值增加到选择查询中

[英]ABAP Increment value into a select Query

我在 ABAP 中有一个结构:

id werks name1

我的查询是:

    SELECT    werks name1
    INTO      TABLE lt_store
    FROM      t001w
    WHERE     vlfkz   EQ 'A'.

可以添加包含可递增值的字段 ID,例如:

  id    werks    name1
-----------------------
 1      R0001    test
 2      ERT3     test2 .....

并做一些这样的选择

SELECT (value) werks name FROM...

我的解决方案是在lt_store上做一个循环并手动添加值,但我认为如果我们直接在查询中这样做是优化的。

使用 OpenSQL 无法完成您想要的操作。 根据您运行它的数据库,您可能可以将一些东西放在 Native SQL 中,但对于这个要求,我不建议这样做,因为有一个简单的 LOOP 解决方案。

Open SQL 不支持聚合函数,但您可以使用字段符号进行优化:

LOOP AT lt_store assignin <fs_store>.
  <fs_store>-id = sy-tabix.
ENDLOOP.

您可以在循环处理结果时使用 sy-tabix 字段。 例如,

LOOP AT lt_store INTO ls_store.
  WRITE: /(1) sy-tabix, (5) ls_store-werks, (15)ls_store-name1.
ENDLOOP.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM