3

私の select ステートメントでは、さまざまな条件を AND で連結しています。ここで、1 つの条件に OR が必要です。前に他のANDステートメントに影響を与えずに、この1つの属性だけにこれを追加するにはどうすればよいですか? それが私のコーディングです:

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 に答える