クエリー作成時に「ファイルの選択」画面にてプライマリーファイルと参照ファイルを結合する際に、【結合タイプ】を選択する必要があります。
結合タイプは以下から選択可能です。
-
LEFT OUTER JOIN
結合元テーブル(1つ目のテーブル)の全レコードと、結合先テーブル(2つ目のテーブル)に対応するレコードを取得します。 -
RIGHT OUTER JOIN
結合先テーブル(2つ目のテーブル)の全レコードと、結合元テーブル(1つ目のテーブル)に対応するレコードを取得します。 -
INNER JOIN
結合元テーブル(1つ目のテーブル)と結合先テーブル(2つ目のテーブル)に一致するレコードのみを取得します。 -
FULL OUTER JOIN
結合元テーブル(1つ目のテーブル)の全レコードと、結合先テーブル(2つ目のテーブル)の全レコードを取得します。 -
CROSS JOIN
結合元テーブル(1つ目のテーブル)、結合先テーブル(2つ目のテーブル)のデータの組み合わせの全てを取得します。
結合元テーブル(1つ目のテーブル)のデータがn個、結合先テーブル(2つ目のテーブル)のデータがm個の場合、結合後のデータは、n×m個となります。
※結合フィールドは省略可能です。
補足事項①
IBM i (AS400) の5250エミュレータを使用して、WRKQRYでクエリーを作成した際に結合のタイプを選択しますが、この結合のタイプがPHPQUERYでは上記のどのタイプに当てはまるかご案内いたします。
結合のタイプ=1(一致レコード):「INNER JOIN」を選択します。
結合のタイプ=2(1次ファイルと一致したレコード):「LEFT OUTER JOIN」を選択します。
結合のタイプ=3(1次ファイルと一致しないレコード):「LEFT OUTER JOIN」を選択し、選択条件の選択画面で2つ目のテーブルの結合キーが「IS NULL」となる条件を設定します。
※SQLクエリーで作成する場合は「LEFT OUTER JOIN」ではなく、「LEFT EXCEPTION JOIN」にするとWHERE句にIS NULLの条件が不要となります。
コメント
0件のコメント
サインインしてコメントを残してください。