在我的select语句中,我用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的情况下以最佳方式添加此项?
感谢您的提示!
答案 0 :(得分:3)
使用括号:
编辑:好像你需要在括号之前和之前添加空格 请参阅此相关question。
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' )
答案 1 :(得分:3)
改为使用IN clause:
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' ).