And + Or 在一个 Select-语句中
And + Or in one Select-Statement
在我的 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 的情况下以最佳方式添加它?
感谢您的提示!
使用括号:
编辑: 好像你需要在括号前后添加空格
看到这个相关的 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' )
改用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' ).
在我的 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 的情况下以最佳方式添加它?
感谢您的提示!
使用括号:
编辑: 好像你需要在括号前后添加空格 看到这个相关的 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' )
改用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' ).