3

在我的选择语句中,我用 AND 链接不同的条件。现在我需要一个条件 OR。如何在不影响之前的其他 AND 语句的情况下为这个属性添加它?那是我的编码:

SELECT pernr reinr pdatv pdatb pdvrs abrec FROM PTRV_PERIO INTO CORRESPONDING FIELDS OF TABLE lt_ptrv_perio WHERE pdatv GE pa_begda AND pdatb LE pa_endda AND abrec EQ '2'.

对于最后一个条件abrec EQ '2',我还需要一个 OR,例如abrec EQ '2' OR '3'. 如何在不影响其他 AND 的情况下以最佳方式添加它?

感谢您的提示!

4

2 回答 2

3

使用括号:

编辑:似乎您需要在括号前后添加空格请参阅此相关问题

SELECT pernr reinr pdatv pdatb pdvrs abrec FROM PTRV_PERIO
INTO CORRESPONDING FIELDS OF TABLE lt_ptrv_perio
WHERE pdatv GE pa_begda
AND   pdatb LE pa_endda
AND   ( abrec EQ '2' OR abrec EQ '3' )
于 2016-12-27T13:19:36.573 回答
3

改用IN 子句

SELECT pernr reinr pdatv pdatb pdvrs abrec FROM PTRV_PERIO
INTO CORRESPONDING FIELDS OF TABLE lt_ptrv_perio
WHERE pdatv GE pa_begda
AND   pdatb LE pa_endda
AND   abrec IN ('2', '3').

另一个有效的选择是:

SELECT pernr reinr pdatv pdatb pdvrs abrec FROM PTRV_PERIO
INTO CORRESPONDING FIELDS OF TABLE lt_ptrv_perio
WHERE pdatv GE pa_begda
AND   pdatb LE pa_endda
AND   ( abrec EQ '2' OR abrec EQ '3' ).
于 2016-12-27T15:03:02.853 回答