複数の iSeries、eServer i5、または System i5 ファイルの結合レコードを受信する

2 つの iSeries、eServer™ i5、または System i5® のファイル、INVENTORY と SUPPLIERS を例として説明します。どちらのファイルにも部品番号フィールドを含むレコードが入っていることに 注目してください。INVENTORY ファイルには、各部品の在庫情報が入っており、SUPPLIERS ファイルには各部品の購入と発注に使用する情報が入って います。

仕入れ先 51 が発注する部品の部品番号、部品名、およびその価格の情報 を転送したいと仮定します。転送したいフィールドは、PARTNO (SUPPLIERS ファイル)、 DESCRIPTION (INVENTORY ファイル)、 および PRICE (SUPPLIERS ファイル) です。

INVENTORY ファイルと SUPPLIERS ファイルに入っているデータを見ると、 仕入れ先 51 は部品番号 221 および 231 を供給しており、 これらの部品にはそれぞれ BOLT と NUT という品名が 付いており、価格はそれぞれ 30 セントと 10 セントであることがわかります。次の表では、この情報が要約されています。
     Field:   PARTNO   DESCRIPTION   PRICE
              ------   -----------   -----
  Record 1:    221     BOLT            .30
         2:    231     NUT             .10

iSeries→PC 転送機能を使用してこれらの 2 つのファイルのデータを結合すると、これと同じ結果を得ることができます。これを行うには、転送元の項目に両方のファイル (INVENTORY および SUPPLIERS) を指定する必要があります。SELECT には、転送したいフィールド (PARTNO、 DESCRIPTION、および PRICE) を指定します。WHERE には、転送したいレコード (SUPPNO = 51 であるレコード) を指定します。

JOIN BY には、2 つのファイルの関係を指定します。その結果、SUPPLIERS ファイルを調べることにより、部品番号 221 は 仕入れ先 51 から 30 セントで仕入れていたことがわかります。そして、その部品名を見つけるために、INVENTORY ファイルを調べて 部品番号 221 とその品名を探します。つまり、SUPPLIERS ファイルのレコードと INVENTORY ファイルの レコードからのデータを結合して、両方のレコードが同じ部品番号を もっていることに着目します。したがって、これらのファイルの 2 つのレコードを 結合するには、2 つのレコードに等しい部品番号がなければなりません。

要約すると、上記の情報を得るには、次のように指定します。
ライブラリー/ファイル (メンバー) SUPPLIERS, INVENTORY
JOIN BY PARTNO = PARTNUM
SELECT PARTNO, DESCRIPTION, PRICE
WHERE SUPPNO = 51
ORDER BY PARTNO