我想对具有 6 个关键字段的数据库表执行 SELECT 查询,假设它们是 keyA、keyB、...、keyF。
作为我的 ABAP 功能模块的输入参数,我确实收到了一个内部表,该表具有与关键字段完全相同的结构,因此该内部表中的每个条目对应于数据库表中的一个元组。
因此,我只需要从数据库表中选择与我的内部表中的条目相对应的所有元组。此外,我想在完全相同的查询中聚合该数据库表中的金额列。
在伪 SQL 中,查询如下所示:SELECT SUM(amount) FROM table WHERE (keyA, keyB, keyC, keyD, keyE, keyF) IN {internal table}。
但是,这种表示在 ABAP OpenSQL 中是不可能的。
只允许声明一列(例如 keyA),而不是复合键。此外,我只能在关键字 IN 之后使用“选择表”(带有 SIGN、OPTIOn、LOW、HIGH 的那些)。使用 FOR ALL ENTRIES 似乎是可行的,但是在这种情况下,我不能使用 SUM,因为在同一个查询中不允许聚合。
有什么建议么?