在路上---周围的世界灯火辉煌,我却把握不住任何一种灿烂。

我---一条深海之鱼,却注定要爱上天空,爱上飞翔……

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

要一个组件 接一个组件 地将数据读 到目标区中 ,请使用 INTO 子句的 CORRESPONDING FIELDS 选项。语法 如下所示:

语法

对于将数据 读到工作区 中:
SELECT ... INTO CORRESPONDING FIELDS OF <wa> ........
对于将数据 读到内表中 :
SELECT ... INTO CORRESPONDING FIELDS OF TABLE <itab> ........
对于将数据 附加到内表 中:
SELECT ... APPENDING CORRESPONDING FIELDS OF TABLE <itab> ........
这些语句不 会将所选行 的所有字段 放进目标区 中。系统只 将列的内容 (对于该列 ,目标区中 具有同名组 件)传送到 目标区的对 应组件中。 如果可能, 在传送过程 中,可将值 转换成目标 字段的数据 类型(关于 数据库表和 ABAP/4
数据类型之 间的可转换 性的信息, 参见 INTO 子句的关键 字文档)。

TABLES SPFLI.
DATA: BEGIN OF WA,
         NUMBER TYPE I VALUE 1,
         CITYFROM LIKE SPFLI-CITYFROM,
         CITYTO   LIKE SPFLI-CITYTO,
      END OF WA.
SELECT * FROM SPFLI INTO CORRESPONDING FIELDS OF WA.
   WRITE: / WA-NUMBER, WA-CITYFROM, WA-CITYTO.
ENDSELECT.
输出如下所 示:

在该示例中 ,系统只将 数据库表 SPFLI 中选定行的 列 CITYFROM 和 CITYTO 传送到 WA 中。WA 中的组件 NUMBER  保持不变。

TABLES SBOOK.
DATA: BEGIN OF LUGGAGE,
        AVERAGE TYPE P DECIMALS 2,
        SUM     TYPE P DECIMALS 2,
      END OF LUGGAGE.
SELECT AVG( LUGGWEIGHT ) AS AVERAGE
       SUM( LUGGWEIGHT ) AS SUM
       INTO CORRESPONDING FIELDS OF LUGGAGE FROM SBOOK.
WRITE: / 'Average:', LUGGAGE-AVERAGE, / 'Sum:', LUGGAGE-SUM.
该示例为数 据库表 SBOOK 中的所有行 计算了字段 LUGGWEIGHT 的平均值和 总和。总计 表达式 AVG 和 SUM 的结果用选 择性的名称 写入结构 LUGGAGE 的组件 AVERAGE 和 SUM 中。关于总 计表达式和 可选名称的 详细信息, 参见 选择并处理指定列中数据 。

给行分组

要将数据库 表的一组行 中的内容组 合到单个行 中,请按如 下格式使用 SELECT 语句的 GROUP BY 子句

TABLES SFLIGHT.
DATA CARRID LIKE SFLIGHT-CARRID.
DATA: MINIMUM TYPE P DECIMALS 2, MAXIMUM TYPE P DECIMALS 2.
SELECT  CARRID MIN( PRICE ) MAX( PRICE )
  INTO (CARRID, MINIMUM, MAXIMUM) FROM SFLIGHT
                                  GROUP BY CARRID.
WRITE: / CARRID, MINIMUM, MAXIMUM.
ENDSELECT.


排序:

TABLES SPFLI.
SELECT * FROM SPFLI ORDER BY CITYFROM ASCENDING
                             CITYTO   DESCENDING.
WRITE: / SPFLI-CITYFROM, SPFLI-CITYTO.
ENDSELECT.


posted on 2005-04-13 21:02  久久塔吧  阅读(233)  评论(0)    收藏  举报