SAP ABAP——OPEN SQL(四)【FROM】

简介: 本文主要介绍SAP ABAP中OPEN SQL的FROM语句

本文主要介绍SAP ABAP中OPEN SQL的FROM语句


FROM语句选项

语句 说明
CLIENT SPECIFIED 解除自动client设置
BYPASSING BUFFER 不会从SAP本地缓冲器中读取数据
UP TO n ROWS 限制查询的个数


选择表

- 选择静态表

SELECT ... FROM <dtba> [AS <alias>] WHERE <condition>

- 选择动态表(在页面动态地输入数据库表sflight查询到相关的数据)

案例演示代码:

DATA:GS_SFLIGHT TYPE SFLIGHT.
PARAMETERS P_SF TYPE CHAR20.
SELECT * FROM (P_SF) INTO GS_SFLIGHT UP TO 1 ROWS.
 WRITE:GS_SFLIGHT-CARRID, GS_SFLIGHT-CONNID.
ENDSELECT.

00062e86a3e72953e11ecbb061cfa2c.png

1c175334b46d9594efd6711568e3891.png



JOIN

JOIN语句是ABAP OPEN SQL中用来在查询多个表中数据时使用的一种语法,能够将多个数据库表进行连接查询(其中JOIN语句还细化分为了INNER JOIN 和 OUTER JOIN 其中若不指定OUTER JOIN 则JOIN默认为INNER JOIN),其中JOIN语句的基本语法如下:

SELECT...FROM <dbta1> [AS <alias>] [INNER][LEFT OUTER] JOIN <dbta2> [AS <alias>] ON <condition> [WHERE <condition>] [UP TO n ROWS]

- INNER JOIN

INNER JOIN为内连接,用于查询两个表中相同的数据,其中案例代码及效果如下:

DATA:BEGIN OF GS_SFLIGHT,
  ZCARRID LIKE SFLIGHT-CARRID,
  ZCARRNAME LIKE SCARR-CARRNAME,
 END OF GS_SFLIGHT.
  SELECT a~CARRID b~CARRNAME INTO GS_SFLIGHT FROM SFLIGHT AS a INNER JOIN SCARR AS b ON a~CARRID = 
   b~CARRID UP TO 1 ROWS
   WHERE a~CARRID = 'AC' .
   WRITE:/ GS_SFLIGHT-ZCARRID,GS_SFLIGHT-ZCARRNAME.
  ENDSELECT.

可以看到结果显示返回了两个表中相同的数据!并且UP TO 1 ROWS限制了返回的结果行数!

c7a7a0fc092ff24e320259086ff1cf1.png

1d571aff1cd249722b3f2c7d06811d0.png

6043e1324b4efb40195f8857c71a97d.png

- LEFT OUTER JOIN

LEFT OUTER JOIN为左外连接(ABAP OPEN SQL中目前只支持左外连接),此语句以左边基本表作为基准表读取数据(能够返回左边表拥有但右边表没有的数据)其中案例代码及效果如下:

DATA:BEGIN OF GS_SFLIGHT,
   ZCARRID LIKE SFLIGHT-CARRID,
   ZCURRCODE LIKE SCARR-CURRCODE,
   END OF GS_SFLIGHT.
   SELECT a~CARRID b~CURRCODE INTO GS_SFLIGHT FROM SFLIGHT AS a LEFT OUTER JOIN SCARR AS b ON 
   a~CARRID = b~CARRID .
   WRITE:/ GS_SFLIGHT-ZCARRID,GS_SFLIGHT-ZCURRCODE.
   ENDSELECT.

可以看到结果显示返回了左边表中拥有但是右边表中不具有的数据(SFLIGHT中具有CARRID为SQ的数据,但是SCARR中不具有CARRID为SQ的数据)!

f37374604064bb1ba96c1dfc760f26d.png

目录
相关文章
|
SQL 数据库
SAP ABAP——OPEN SQL(六)【DML】
本文主要介绍SAP ABAP中OPEN SQL的数据操控语言(DML)
363 0
SAP ABAP——OPEN SQL(六)【DML】
|
SQL
SAP ABAP——OPEN SQL(五)【GROUPING & SORT】
本文主要介绍SAP ABAP中OPEN SQL的GROUPING和SORT语句
1379 0
SAP ABAP——OPEN SQL(五)【GROUPING & SORT】
SAP MM/FI_运费处理方式
常见的采购运费处理方式
SAP MM 途损处理方式
通常客户采购业务需求提到货物运输有损耗,需要针对此业务给出合理方案输出,下面笔者针对此类业务分析下各种实现方案的可行性!
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
SAP MM不常用移动类型之325
SAP MM不常用移动类型之325
SAP MM不常用移动类型之325
SAP MM初阶之采购信息记录里的Prior Supplier栏位
SAP MM初阶之采购信息记录里的Prior Supplier栏位
SAP MM初阶之采购信息记录里的Prior Supplier栏位
SAP MM初阶之ME12里为啥只能维护少量条件类型的价格?
SAP MM初阶之ME12里为啥只能维护少量条件类型的价格?
SAP MM初阶之ME12里为啥只能维护少量条件类型的价格?
SAP MM 采购信息记录里的Automatic Sourcing 之二
SAP MM 采购信息记录里的Automatic Sourcing 之二
SAP MM 采购信息记录里的Automatic Sourcing 之二
下一篇
开通oss服务