我遇到了三个表的问题:
第一个表的数据如下:
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).
当然,你可以在OpenSQL中做多个LEFT OUTER JOIN
。
第二个连接也可能是一个INNER JOIN
,这取决于你想要什么。
在SAP HANA 2.0上的SAP NetWeaver 7.52上验证。