0

SAP クエリ (SQ02) を作成しようとしています。

私のデータセットは、フィールドの値に基づいてグループ化されています (以下の例)。別のフィールドの最小値を選択して出力する必要がありますが、文字と数字が混在しているため、最小値が必要です。

私は今このコードを持っていますが、マスターアカウントに関連付けられた値を戻すだけで、マスターアカウントでロジックが失敗し、最低値はありません。

Select MIN( KLABC )
  FROM KNVV
  INTO CLS2
  WHERE KUNNR IN
    ( SELECT KUNNR
      FROM KNB1
      WHERE EKVBD = KNB1-EKVBD ).

IF cls2+1(1) > KNVV-KLABC+1(1) AND KNVV-KLABC+0(1) = 'R'.
  clear CLS2.
  Select MIN( KLABC )
    FROM KNVV
    INTO CLS2
    WHERE KLABC LIKE 'R%'
      AND KUNNR IN
        ( SELECT KUNNR
          FROM KNB1
          WHERE EKVBD = KNB1-EKVBD ).
ENDIF.

データセットの例:

Customer  Class  Group
1001      R1     1001
301048    R2     1001
10015     A1     10015
306069    A2     10015
6042482   R1     10025
10027     R1     10027
303226    R2     10027
10028     A4     10028
306070    A4     10028
10034     A2     10034
303724    A5     10034
403558    A7     10034
5042      A1     10047
302673    A3     10047

中間結果は次のようSELECT MIN( class ) AS Class2, group FROM abovetable GROUP BY groupになります。

Class2 Group
R1     1001
A1     10015
R1     10025
R1     10027
A4     10028
A2     10034
A1     10047

中間結果をマージすると、最終結果は次のようになります。

Customer  Class  Group  Class2
1001      R1     1001   R1
301048    R2     1001   R1
10015     A1     10015  A1
306069    A2     10015  A1
6042482   R1     10025  R1
10027     R1     10027  R1
303226    R2     10027  R1
10028     A4     10028  A4
306070    A4     10028  A4
10034     A2     10034  A2
303724    A5     10034  A2
403558    A7     10034  A2
5042      A1     10047  A1
302673    A3     10047  A1

数だけでも十分です。

4

1 に答える 1