SAP – JOIN 语句
- 用来合并”有关联性”的数据库表,通过”关键字段”连接多个数据库表间的数据,为水平合并。
- 在ABAP 的OPEN SQL中可使用 INNER JOIN 或 LEFT OUTER JOIN。
1)INNER JOIN 语法:
FROM 表格A
INNER JOIN 表格B
ON 表格A~字段C = 表格B~字段C <--条件
*语法意指将表格B符合条件的记录內部合并至表格A。
*若表格B没有符合条件的记录时,INNER JOIN 会排除表格A的记录。
*例子如下:
表格A –customer | |||
会员序号 | 姓名 | 生日 | 会员种类 membertypeid |
001 | 小名 | 1984/06/27 | 2 |
002 | 大张 | 1990/07/16 | 1 |
003 | 李钟 | 1987/10/11 | 2 |
004 | 牛三 | 1991/11/29 | 3 |
表格B –membertype | |
会员种类 membertypeid | 会员种类说明 |
1 | 优惠会员 |
2 | 一般会员 |
SELECT *
INTO CORRESPONDING FIELDS OF TABLE git_result
FROM customer AS a (利用AS语句为表格命名)
JOIN membertype AS b
ON a ~membertypeid = b~ membertypeid.
(以上省略内表变量声明、显示结果表的程序命令)
合并结果- git_result | ||||
会员序号 | 姓名 | 生日 | 会员种类 | 会员种类说明 |
001 | 小名 | 1984/06/27 | 2 | 一般会员 |
002 | 大张 | 1990/07/16 | 1 | 优惠会员 |
003 | 李钟 | 1987/10/11 | 2 | 一般会员 |
2)LEFT OUTER JOIN 语法:
FROM 表格A <--基准表
LEFT OUTER JOIN 表格B
ON 表格A~字段C = 表格B~字段C <--条件
*语法意指将表格B符合条件的记录外部合并至表格A。
*若表格B没有符合条件的记录时,LEFT OUTER JOIN 保留表格A的记录,来自表格B的记录为空。
*接续上个例子:
表格A –customer | |||
会员序号 | 姓名 | 生日 | 会员种类 membertypeid |
001 | 小名 | 1984/06/27 | 2 |
002 | 大张 | 1990/07/16 | 1 |
003 | 李钟 | 1987/10/11 | 2 |
004 | 牛三 | 1991/11/29 | 3 |
表格B –membertype | |
会员种类 membertypeid | 会员种类说明 |
1 | 优惠会员 |
2 | 一般会员 |
SELECT *
INTO CORRESPONDING FIELDS OF TABLE git_result
FROM customer AS a
LEFT OUTER JOIN membertype AS b
ON a ~membertypeid = b~ membertypeid.
(以上省略内表变量声明、显示结果表的程序命令)
合并结果- git_result | ||||
会员序号 | 姓名 | 生日 | 会员种类 | 会员种类说明 |
001 | 小名 | 1984/06/27 | 2 | 一般会员 |
002 | 大张 | 1990/07/16 | 1 | 优惠会员 |
003 | 李钟 | 1987/10/11 | 2 | 一般会员 |
004 | 牛三 | 1991/11/29 | 3 |
post SAP-Garson
原文链接:https://blog.csdn.net/Wshm773/article/details/123559593文章来自于网络,如果侵犯了您的权益,请联系站长删除!