SAP BASIC

[09] ABAP SQL - 동일 필드에 대해 Where 조건 두 번 주기!

0v0_삐약 2024. 8. 21. 22:45
728x90

 

데이터를 추출할 때 동일 필드에 대해서 조건이 여러가지일 때 .

하나의 SELECT문 안에서 해당 필드에 대한 Where 조건을 여러 번 사용할 수 있다! 

 

말로 설명하려니 굉장히 이상한데

간단하다!

 

예를 들어 

SFIGHT의 데이터를 추출하는데

CARRID는 AA, AZ, DL, JL 중에 있어야 하며, Selection Screen에서 사용자가 입력한 CARRID와 일치해야 한다. 

 

TABLES : sflight.
SELECT-OPTIONS : s_carrid FOR sflight-carrid.

DATA lt_r_carrid TYPE RANGE OF sflight-carrid.
lt_r_carrid = VALUE #( sign = 'I' option = 'EQ'
                       ( low = 'AA' )
                       ( low = 'AZ' )
                       ( low = 'DL' )
                       ( low = 'JL' ) ).

SELECT *
  FROM sflight
 WHERE carrid IN @lt_r_carrid
   AND carrid  IN @s_carrid
  INTO TABLE @DATA(lt_tab).

 

위와 같이 Select 문의 Where 절에 Carrid IN @lt_r_Carrid / Carrid In @s_carrid 두 조건이 작성됨 

 

사용자가 S_CARRID에 AA~AC를 입력하면 

결과는 

lt_r_carrid에 있는 AA, AZ, DL, JL

s_carrid에 있는 AA, AB, AC 

중 두 조건을 충족하는 'AA' 에 대해서만 데이터가 출력된다 

728x90