JOIN BY

「転送元」に複数のファイルを指定した場合は、この JOIN BY も必ず指定しなければなりません。「転送元」にファイルを 1 つだけ指定した場合には、JOIN BY は表示されません。

JOIN BY では、「転送元」に指定した複数のファイルのレコードを組み合わせ、または結合する方法を指定します。「転送元」に指定した各ファイルは、 その「転送元」に指定した少なくとも 1 つの他のファイルと結合しなければなりません。

JOIN BY は 1 つまたは複数の結合条件を指定するのに使用します。結合条件は、2 つのファイルがどの程度類似しているかを示すものです。したがって、2 つのファイルからどのレコードを結合するかを示します。

結合条件の形式は次のとおりです。
field-name = field-name

フィールド名は、「転送元」に指定したレコード形式に定義されているフィールドの名前です。結合条件には、2 つのフィールド名、つまり結合するファイル 1 つにつき 1 つの フィールドを指定しなければなりません。

フィールド名は次のいずれかによって区切る必要があります。
=
等しい
<> または ><
等しくない
>
より大
>=
以上
<
より小
<=
以下
JOIN BY に指定するフィールドは、 次の規則に従っていなければなりません。
  • 数値フィールドは数値フィールドに結合しなければなりません。フィールドの長さおよびタイプは同じでなくてもかまいません。
  • 文字フィールドは文字フィールドに結合しなければなりません。長さは同じでなくてもかまいません。
指定するフィールド名が、「転送元」に指定した複数のファイルで定義されていることがあります。そのフィールド名を 次の項目に使用する場合は、そのフィールド名の前に常にファイル修飾子を 付けなければなりません。
  • JOIN BY
  • GROUP BY
  • SELECT
  • WHERE
  • HAVING
  • ORDER BY

ファイル修飾子は文字 T (大文字または小文字) の後に 1 ~ 2 桁の数を付けたものです。最初のレコード形式で定義されているフィールドには T1 を使用し、2 番目の レコード様式で定義されているフィールドには T2 というように使用してください。ファイル修飾子とフィールド名とはピリオド (.) で区切ります。ファイル修飾子の詳細については、ファイル修飾子を使用して受信を参照してください。

「転送元」に指定したファイルのフィールド名がわからない場合は、カーソルが JOIN BY 入力域にあるときに「参照」を選択してください。各ファイルのファイル修飾子とフィールド名のリストが表示されます。

3 つ以上のファイルを結合する場合、または 2 つのファイルを 2 つ以上の共通 フィールドをもとに結合する場合は、結合条件を 2 つ以上使用しなければなりません。複数の結合条件を指定するには、それらの条件を AND で接続しなければなりません。例:
T1.EMPNO = T2.EMPNO AND T2.EMPNO = T3.EMPNO

この場合、EMPNO に同じ値を持つレコードが、「転送元」に指定されている最初と 2 番目のファイルから結合され、そのあと、「転送元」項目に指定されている 2 番目と 3 番目のファイルから結合されます。

結合条件は最高 32 まで指定することができます。

JOIN BY を指定した後、この章で前述した手順で SELECTWHEREORDER BY の各項目を完了することができます。複数のファイルで定義されているフィールド名を参照する場合は、そのフィールド名の前に ファイル修飾子を付けてください。