将三个表与JOIN结合

时间:2018-08-09 15:42:14

标签: sap abap opensql

我遇到的问题是我有三个表:
第一个表的数据如下:

A B C D
1 2 3 4
1 2 3 5

第二张表的数据如下:

D E
4 x
6岁

第三张表的数据如下:

E F
x结果1 y result2

我需要的是一个查询,该查询显示第一个表(显然是左外部联接)中的所有值,以及第二个和第三个表的组合(如果有)。

所以结果看起来像这样:

A B C D E F
1 2 3 4 x结果1
1 2 3 5

但是我对此没有解决办法。

我已经尝试了两次左联接(由于在opensql中不允许这样做,导致错误),并且内部联接了第二个和第三个表,并试图右联接第一个表(在opensql中也不允许)。

如何实现所需的结果表?

1 个答案:

答案 0 :(得分:0)

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上进行了验证。