select - 从多个表中选择一个内部表
问题描述
我的数据库表:
db_1
db_2
db_3
我的内部表:
it_comb
it_comb 有一个结构,其中包含来自 db_1、db_2、db_3 的一些字段。
所有 db 表都有不同的结构。
我想从 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.
显然,这不起作用,因为我不能像那样使用','。我如何在 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).
APPENDING
不会覆盖内部表中的先前记录it_comb
。
警告:APPENDING
如果内部表是则使用,TYPE STANDARD
否则你会得到转储。还要检查 SELECT - JOIN 文档
推荐阅读
- pyspark - 如果 pyspark 中不存在,则从数据中选择键列为 null
- amazon-s3 - 我可以在较大的文件中使用 AWS S3 和 Google Speech-to-Text 吗?
- postgresql - 不一致的日期时间 PostgreSQL 默认值 now()
- java - 使用 Spring Data 向 MongoDB 传递数据的方法
- python - 使用命令提示符安装 pip 包时出错
- tags - 带有条件的 ARM 模板资源标签
- jquery - 使动态生成的加/减计数器独立工作?
- jpa - 如何在 JPA 规范中使用 mysql“json_contains”
- python - 通过删除 Beautifulsoup 中的空列来对齐列
- c# - 即使我将变量设为静态方法或创建相关类的新实例,我也无法访问另一个类中的变量?