ABAP中当需要同时查询多个表的相关字段时,需要使用到JOIN语句,跟平常数据库中用到的连接查询基本上相同。共包含三种:
1)INNER JOIN:查询结果包含两个连接表中彼此相对应的数据记录。
2)LEFT OUTER JOIN:查询结果集中包含左则表中的所有数据记录,右表中仅查询出包含相对应的匹配条件的数据。
3)FULL OUTER JOIN:包含左右表所有的记录。
[For Example]
TABLES:SPFLI,SFLIGHT.
DATA:BEGIN OF Xflight OCCURS 0,
airpfrom LIKE SPFLI-Airpfrom,
airpto LIKE SPFLI-Airpto,
fldate LIKE SFLIGHT-Fldate,
deptime LIKE SPFLI-Deptime,
END OF Xflight.
SELECT a~airpfrom a~airpto b~fldate a~deptime INTO CORRESPONDING FIELDS OF TABLE Xflight
FROM SPFLI AS a INNER JOIN SFLIGHT AS b
ON a~CARRID = b~CARRID AND a~CONNID = b~CONNID
ORDER BY a~airpfrom a~airpto b~fldate a~deptime.
LOOP AT Xflight.
WRITE: / 'Airpfrom=', Xflight-Airpfrom,
/ 'Airpto=', Xflight-Airpto.
ENDLOOP.
*查询结果如下图所示:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步