首页 > 解决方案 > 使用 ABAP 中另一个表列数据的列名和值创建内部表

问题描述

我有一个表,其中包含字段名和字段值等字段。我正在尝试将此表转换为另一种格式。

例如,我有下表的字段和值:

-----------------------------
|  Fieldname   | Fieldvalue |
-----------------------------
|   Matnr      |  001       |
|   Werks      | 1000       |
|   Statu      |   01       |
-----------------------------

我想创建一个具有以下列名称和值的内部表,如下所示:

-------------------------------
|  Matnr  |  Werks  |  Statu  |
-------------------------------
   001       1000       01

我怎样才能做到这一点?

标签: sqlabapopensql

解决方案


您可以使用条件聚合:

select max(case when fieldname = 'Matnr' then fieldvalue end) as matnr,
       max(case when fieldname = 'Werks' then fieldvalue end) as Werks,
       max(case when fieldname = 'Statu' then fieldvalue end) as Statu
from t;
   

推荐阅读