【发布时间】:2019-04-10 18:14:30
【问题描述】:
我想创建一个左连接多个表的选择。
在下面的代码中,我只需要选择表EKPO 的行,其中列EBELN = 变量lv_ebeln。但是一旦我将此条件添加到WHERE,我就会收到以下语法错误:
“SELECT LIST”列表中的元素必须用逗号分隔。
那么,有没有办法添加这个条件呢?
DATA: BEGIN OF wa_itab,
gjahr TYPE rseg-gjahr,
ebelp TYPE ekpo-ebelp,
END OF wa_itab,
itab LIKE TABLE OF wa_itab,
lv_belnr TYPE rseg-belnr,
lv_ebeln TYPE ekpo-ebeln.
SELECT rseg~gjahr ekpo~ebelp FROM rseg
LEFT JOIN ekpo ON rseg~ebeln = ekpo~ebeln AND rseg~ebelp = ekpo~ebelp
INTO (wa_itab-gjahr, wa_itab-ebelp )
WHERE rseg~belnr = lv_belnr
AND ekpo~ebeln = lv_ebeln. " <=== SYNTAX ERROR because of this line
...
" some other code
...
APPEND wa_itab TO itab.
ENDSELECT.
【问题讨论】:
-
我编辑了消息,使代码为MCVE,我删除了有关性能的部分,因为这是一个不同的问题。欢迎单独询问。
-
从
WHERE条件很明显,您需要的是INNER JOIN而不是LEFT (OUTER) JOIN。