我的数据库表:
db_1
db_2
db_3
Run Code Online (Sandbox Code Playgroud)
我的内部表:
it_comb
Run Code Online (Sandbox Code Playgroud)
it_comb具有包含db_1,db_2,db_3中的某些字段的结构。
所有的数据库表都有不同的结构。
我想选择所有从db_1,db_2,db_3到带where条件的it_comb正确字段中。
我想做这样的事情:(这不起作用)
SELECT * From db_1, db_2, db_3 into CORRESPONDING FIELDS OF TABLE it_comb WHERE db_1-MATNR LIKE db_2-MATNR AND db_1-MATNR LIKE db_3-MATNR.
Run Code Online (Sandbox Code Playgroud)
显然,这是行不通的,因为我不能那样使用','。我该如何在ABAP中写这个?这样,it_comb就会填充db_1,db_2和db_3中的数据。
另一个问题是,每次我在it_comb中选择内容时,以前的数据都会被覆盖。
对于ABAP-Beginner,将感谢该代码示例。
您可以使用内部联接-
SELECT * APPENDING CORRESPONDING FIELDS OF TABLE it_comb
FROM db_1 AS a
INNER JOIN db_2 AS b
ON a~matnr = b~matnr
INNER JOIN db_3 AS c
ON a~matnr = c~matnr
WHERE (Your any other condition).
Run Code Online (Sandbox Code Playgroud)
APPENDING 不会覆盖内部表中的先前记录 it_comb。
警告:APPENDING如果内部表不在此位置上,TYPE STANDARD则使用它将导致转储。还要检查SELECT-JOIN文档
| 归档时间: |
|
| 查看次数: |
11722 次 |
| 最近记录: |