使用 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).

当然,你可以在OpenSQL中做多个LEFT OUTER JOIN

第二个连接也可能是一个INNER JOIN,这取决于你想要什么。

在SAP HANA 2.0上的SAP NetWeaver 7.52上验证。

相关内容

  • 没有找到相关文章

最新更新