首页 > 解决方案 > 使用 FOR ALL ENTRIES 和 NOT EXISTS 的 SQL 语句不正确

问题描述

我正在尝试选择表VBRK,目标是从中选择所有数据VBRK,而不是列为 0 的那些数据NETWR。代码如下:

 SELECT DISTINCT * FROM vbrk INTO TABLE gt_vbrk
      FOR ALL ENTRIES IN gt_vbfa_inv
      WHERE vbeln = gt_vbfa_inv-vbeln
        AND NOT EXISTS (SELECT DISTINCT * FROM vbrk 
                        INTO TABLE gt_vbrk
                        FOR ALL ENTRIES IN gt_vbfa_inv
                        WHERE netwr = 0). //Here I get an error

因此,我收到一个错误,即执行NOT EXISTS. 有人可以告诉我如何修复上面的代码或选择NETWR = 0不会选择数据的地方吗?

谢谢大家!

标签: abapsap-erp

解决方案


只需将 netwr 添加到 WHERE 条件,NE 表示不等于:

 SELECT DISTINCT * 
        FROM vbrk 
        INTO TABLE gt_vbrk
        FOR ALL ENTRIES IN gt_vbfa_inv
        WHERE vbeln EQ gt_vbfa_inv-vbeln
          AND netwr NE 0.

推荐阅读