abap - 用 JOIN 合并三个表
问题描述
我面临三个表的问题:
第一个表的数据如下:
A B C D
1 2 3 4
1 2 3 5
第二个表的数据如下:
D E
4 x
6 y
第三个表的数据如下:
E F
x result1
y result2
我需要的是一个查询,它显示第一个表中的所有值(显然是左外连接),如果可用,则显示第二个和第三个表的组合。
所以结果看起来有点像这样:
A B C D E F
1 2 3 4 x result 1
1 2 3 5
但是我无法得到解决方案。
我已经尝试了两次左加入(导致错误,因为它在 opensql 中是不允许的)和内部加入第二个和第三个表并尝试右加入第一个表(在 opensql 中也不允许)。
我如何实现我想要的结果表?
解决方案
SELECT *
FROM first
LEFT OUTER JOIN second
ON second~d = first~d
LEFT OUTER JOIN third
ON third~e = second~e
INTO TABLE @DATA(lt_result).
当然你可以LEFT OUTER JOIN
在 OpenSQL 中做多个 s。
第二个连接也可能是INNER JOIN
,具体取决于您想要什么。
在 SAP HANA 2.0 上的 SAP NetWeaver 7.52 上验证。
推荐阅读
- vue.js - Vue.js 生命周期钩子
- vue.js - 如何使用方法创建 Vue 组件的新实例并随后销毁它们?
- hadoop - Hadoop localhost:9870 在格式化 hdfs namenode 之前不起作用
- python - 尝试使用 Python 获取 Excel 差异时如何修复 Key 错误
- applescript - 每 5 分钟备份一次文件夹 (Applescript - Droplet)
- python-3.x - 如何在 socketio 方法中获取全局金字塔请求?
- windows - 如何在 Windows 便携设备中获取图片传输协议事件的参数?
- arrays - 如何为对象数组创建模型
- c# - 使用 mvvm 在 wpf 中验证文本框
- c# - Parser Error : 解析过程中发生错误