SAP ABAP——OPEN SQL(三)【SELECT】

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

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


SELECT语句简介

SELECT <lines> <columns> FROM <db> WHERE <condition>

其中<lines>代表查询的件数,<columns>代表查询的字段名


SELECT SINGLE

SELECT SINGLE <cols> FROM <db> WHERE <condition>

该语句用于从数据库表中查询单条数据


SELECT SEVERAL LINE

SELECT [DISTINCT] <columns> FROM <db> WHERE <condition>

[DISTINCT]为可选项,若选择则自动删除所查询数据的重复项,在本文最后的一个案例代码效果中有演示!!


SELECT并且输出打印的两种方式

1. SELECT...ENDSELECT

REPORT ZWYZTEST_FOR_MANGO.
DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT.
DATA:GS_SFLIGHT TYPE SFLIGHT.
SELECT * INTO GS_SFLIGHT FROM SFLIGHT WHERE CARRID = 'AC'.
   WRITE:/ GS_SFLIGHT-CARRID,GS_SFLIGHT-CONNID.
ENDSELECT.

08b5ba1d8abf14810c89c582ec29e8d.png

2.SELECT(LOOP...ENDLOOP)

REPORT ZWYZTEST_FOR_MANGO.
DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT.
DATA:GS_SFLIGHT TYPE SFLIGHT.
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_SFLIGHT FROM SFLIGHT WHERE CARRID = 'AC'.
LOOP AT GT_SFLIGHT INTO GS_SFLIGHT.
   WRITE:/ GS_SFLIGHT-CARRID,GS_SFLIGHT-CONNID.
ENDLOOP.

5dec377645e46db5903fbf72ca323f4.png

数据库表SFLIGHT(最下方案例也使用该数据库表):

b5ce46ce53c8c9a1049ef6f418b5028.png


SELECT...AS

SELECT <columns> AS <alias>...

AS可以用来为所查询的数据库表取别名,<alias>为表的别名


动态SELECT语句

可以动态定义SELECT语句的字段,保存动态语句的结构体GS_LINE最多可以容纳72位CHAR类型,结构体GS_LINE为NULL时与*相同

1.使用DISTINCT

REPORT ZWYZTEST_FOR_MANGO.
DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT.
DATA:GS_SFLIGHT TYPE SFLIGHT.
DATA:GS_LINE(72) TYPE C.
GS_LINE = 'CARRID CONNID'.
   SELECT DISTINCT (GS_LINE) INTO CORRESPONDING FIELDS OF TABLE GT_SFLIGHT FROM SFLIGHT WHERE CARRID = 
'AC'.
LOOP AT GT_SFLIGHT INTO GS_SFLIGHT.
   WRITE:/ GS_SFLIGHT-CARRID,GS_SFLIGHT-CONNID.
ENDLOOP.

e17bbc57cb9726f51e0c45db92ba597.png

2. 不使用DISTINCT

REPORT ZWYZTEST_FOR_MANGO.
DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT.
DATA:GS_SFLIGHT TYPE SFLIGHT.
DATA:GS_LINE(72) TYPE C.
GS_LINE = 'CARRID CONNID'.
   SELECT (GS_LINE) INTO CORRESPONDING FIELDS OF TABLE GT_SFLIGHT FROM SFLIGHT WHERE CARRID = 
'AC'.
LOOP AT GT_SFLIGHT INTO GS_SFLIGHT.
   WRITE:/ GS_SFLIGHT-CARRID,GS_SFLIGHT-CONNID.
ENDLOOP.

155dc3e21f79c546ad3a3c25eb176f4.png

目录
相关文章
|
4月前
|
SQL Java 数据库连接
SQL SELECT语句的基本用法
SQL SELECT语句的基本用法
|
3月前
|
SQL 数据挖掘 大数据
如何在 SQL Server 中使用 `SELECT TOP`
【8月更文挑战第10天】
157 7
如何在 SQL Server 中使用 `SELECT TOP`
|
2月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
46 1
|
3月前
|
SQL 关系型数据库 MySQL
INSERT INTO t_a.tableName SELECT * FROM t_b.tableName 如何通过定义一个list对象,包含多个tableName,循环执行前面的sql,用MySQL的语法写
【8月更文挑战第7天】INSERT INTO t_a.tableName SELECT * FROM t_b.tableName 如何通过定义一个list对象,包含多个tableName,循环执行前面的sql,用MySQL的语法写
44 5
|
3月前
|
SQL 数据挖掘 关系型数据库
|
3月前
|
SQL
访问者模式问题之构造一个包含 select、from 和 where 子句的 SQL 节点树,如何解决
访问者模式问题之构造一个包含 select、from 和 where 子句的 SQL 节点树,如何解决
|
4月前
|
SQL Oracle 关系型数据库
SQL SELECT TOP 子句
【7月更文挑战第12天】SQL SELECT TOP 子句。
46 14
|
4月前
|
SQL 存储 数据库
SQL SELECT 语句
【7月更文挑战第10天】SQL SELECT 语句。
39 9
|
4月前
|
SQL Oracle 关系型数据库
SQL SELECT TOP 子句
【7月更文挑战第13天】SQL SELECT TOP 子句。
36 5
|
4月前
|
SQL 数据库
SQL SELECT DISTINCT 语句
【7月更文挑战第10天】SQL SELECT DISTINCT 语句。
55 6