简体   繁体   English

如何将以下语句写入单个 Select 语句?

[英]How can I write below statement into single Select Statement?

I have been learning abap recently and working on select operations but then I came across this question.我最近一直在学习 abap 并致力于选择操作,但后来我遇到了这个问题。 How can I put these 2 select statements into single select statement?如何将这 2 个 select 语句放入单个 select 语句中?

SELECT * FROM SPFLI INTO SPFLI_WA.

      SELECT * FROM SFLIGHT INTO SFLIGHT_WA    
            WHERE CARRID = SPFLI_WA-CARRID    
             AND CONNID = SPFLI_WA-CONNID.

      ENDSELECT.

ENDSELECT.

You can use inner join for getting matching records from other table.您可以使用内连接从其他表中获取匹配记录。

SELECT SFLIGHT~*
  INTO @SFLIGHT_WA
  FROM SFLIGHT
 INNER JOIN SPFLI ON SFLIGHT~CARRID = SPFLI~CARRID
                   AND SFLIGHT~CONNID = SPFLI~CONNID.

ENDSELECT.

Here is an extension of correct answer by mkysoft, just for the fun, to mimic exactly the original code ;这是 mkysoft 对正确答案的扩展,只是为了好玩,完全模仿原始代码; it works from ABAP 7.40:它适用于 ABAP 7.40:

SELECT *
      INTO @DATA(spfli_sflight_wa)
      FROM spfli
      INNER JOIN sflight ON sflight~carrid = spfli~carrid
                        AND sflight~connid = spfli~connid.

  DATA(spfli_wa) = spfli_sflight_wa-spfli.
  DATA(sflight_wa) = spfli_sflight_wa-sflight.

  ...

ENDSELECT.

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM