Open-SQL语句中的语法错误

时间:2016-03-02 15:17:36

标签: 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.

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

  

'“SELECT LIST”列表中的元素必须用逗号分隔。'

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

1 个答案:

答案 0 :(得分:6)

您(可能是无意中)混合了OpenSQL SELECT语句的旧语法(现已过时)和新语法,触发了这个相当不太有用的错误消息。查看release-specific change notes以获取有关更改的一些详细信息。但是,在给出的示例中,我认为第二个连接条件是问题:您没有将zmm_limit_matkl的内容与其他两个表中的任何一个连接,而是与其自身连接。这看起来并不正确,可能会使编译器感到困惑。