SELECT语句中有多个条件



首先,我没有ABAP的经验,我在这里进行猜测。

我想向现有报表中的SELECT添加一个条件。现有代码如下所示:

SELECT SINGLE *
  FROM EKPO
  WHERE EBELN = GT_MSEG-EBELN
  AND   EBELP = GT_MSEG-EBELP.

如果字段F1是某个值,而字段F2是0(两个条件都必须为true才能排除记录),我想添加一个条件来排除记录。我试过这个:

SELECT SINGLE *
  FROM EKPO
  WHERE EBELN = GT_MSEG-EBELN
  AND   EBELP = GT_MSEG-EBELP
  AND NOT (F1 = 'value' AND F2 = '0').

我得到一个语法错误:字段"F1='value'AND F2='0'"未知。它既不在指定的表中,也不由"DATA"语句定义。

字段F1和F2肯定存在于EKPO表中,我已经检查过了。括号似乎使编译器将内容视为字段名,但我不知道为什么。

语法是否不正确,我是否在某个地方缺少定义,或者两者兼而有之?

SELECT SINGLE *
  FROM EKPO
  WHERE EBELN = GT_MSEG-EBELN
  AND   EBELP = GT_MSEG-EBELP
  AND NOT ( F1 = 'value' AND F2 = '0' ).

这起到了作用。基本上,我只需要在括号旁边留出一个空间。

相关内容

  • 没有找到相关文章

最新更新