Open-SQL语句中的语法错误

Ale*_*erK 1 sql abap

这句话有什么问题?

SELECT aufk~aufnr
         zmm_limit_co~vd zmm_limit_co~matkl_code
         zmm_limit_matkl~sign
   FROM aufk
   JOIN zmm_limit_co ON zmm_limit_co~auart = aufk~auart
   left JOIN zmm_limit_matkl
        on zmm_limit_matkl~matkl = zmm_limit_matkl~matkl_code    
   INTO CORRESPONDING FIELDS OF table lt_input
   WHERE aufk~aufnr = <lf_new_pos>-aufnr.
Run Code Online (Sandbox Code Playgroud)

当我尝试执行程序时,ABAP给了我一个错误:

'必须使用逗号分隔"SELECT LIST"列表中的元素.

我想,当我从它中删除"左"时,错误以某种方式与JOIN连接 - 它正在编译就好了,但随之而来.

vwe*_*ert 6

您(可能是无意中)混合了OpenSQL SELECT语句的旧语法(现已过时)和新语法,触发了这个相当不太有用的错误消息.有关更改的一些详细信息,请查看特定发行版的更改说明.但是,在给出的示例中,我认为第二个连接条件是问题:您没有加入zmm_limit_matkl任何其他两个表的内容,而是自己.这看起来不正确,可能会混淆编译器.