PowerTools ActiveReports for .NET 9.0J
テーブルとリレーション

クエリでは異なるテーブルのフィールドを使用できます。複数のテーブルのフィールドを使用するときは、結果セットにデータをどのように表示するかを決定するため、これらのテーブルのデータ間のリレーションシップを設定します。

このようなテーブル間のリレーションシップは、クエリデザイナで内部結合、左外部結合、右外部結合といったSQL結合を使用して設定できます。

  1. 内部結合(単純な結合) - 内部結合は、Table1の行をTable2の行と一致させます。これにより、両方のテーブルの互いに関連するレコードを取得できます。内部結合はTable1とTable2の両方に一致するデータのセットを生成します。

    SQL内部結合の構文:
    SELECT columns
    FROM table1
    INNER JOIN table2
    ON table1.column = table2.column;

    説明図

    SQL内部結合は、table1とtable2の交差部分のレコードを返します。
  2. 左外部結合(左結合) - 左外部結合を使用すると、左右のテーブルの両方に一致する行に加えて、左側のテーブル(table1)のすべての行も選択できます。つまり、table2の行はtable1と交差するものだけが結果セットに表示されます。

    SQL左外部結合の構文:
    SELECT columns
    FROM table1
    LEFT [OUTER] JOIN table2
    ON table1.column = table2.column;

    説明図

    SQL左外部結合は、table1のレコードと、table1と交差するtable2のレコードを返します。
  3. 右外部結合(右結合) - 右外部結合を使用すると、左右のテーブルの両方に一致する行に加えて、右側のテーブル(table2)のすべての行も選択できます。つまり、table1の行はtable2と交差するものだけが結果セットに表示されます。

    SQL右外部結合の構文:
    SELECT columns
    FROM table1
    RIGHT [OUTER] JOIN table2
    ON table1.column = table2.column;

    説明図

    SQL右外部結合は、table2のレコードと、table2と交差するtable1のレコードを返します。

[テーブルのリレーション]ダイアログ

[テーブルのリレーション]ダイアログでは、少なくとも1つの共通フィールドを持つ2つの異なるテーブル間のリレーションシップを設定できます。

[テーブルのリレーション]ダイアログにアクセスするには、以下の手順に従います。

  1. クエリデザイナで、データベースビューからテーブルのフィールドをドラッグして[選択したフィールド]パネルにドロップします。
  2. データベースビューから別のテーブルの別のフィールドを[選択したフィールド]パネルに追加します。これら2つのテーブルの少なくとも1つのフィールドが一致している(すなわち、2番目のテーブルに外部キーが存在する)必要があります。
  3. 手順2でフィールドを追加すると、[テーブルのリレーション]ダイアログが自動的に画面にポップアップします。

テーブル間のリレーションシップを設定した後は、[テーブルとリレーションシップ]パネルの[リレーション]ボタンから[テーブルのリレーション]ダイアログにアクセスできます。

テーブルのリレーション

テーブルのリレーション

オプション 説明
結合の種類 内部結合、左外部結合、右外部結合から適切な結合の種類を選択できます。
例: 上の図では[内部結合]タブが強調表示されています。
<テーブル名>のフィールド テーブル間で共通している(すなわち、外部キー名が2番目のテーブルに存在する)フィールドの名前が表示されます。
例: 上の図では、"Products"のフィールドは'Category ID'フィールドになっています。
リレーションするテーブル リレーションシップが設定されているテーブルの名前が表示されます。
例: 上の図では'Categories'テーブルが表示されています。
リレーションするテーブルのフィールド リレーションシップが設定されているテーブルのフィールドの名前が表示されます。
例: 上の図では、'Category ID'はCategoriesテーブルのフィールドです。
削除 [リレーションするテーブルのフィールド]の横にあるボタン。現在追加されているリレーションを削除します。
リレーションの追加 テーブルに別のリレーションを追加できるボタン。
キャンセル [テーブルのリレーション]ウィンドウを閉じます。
OK テーブル間のリレーションシップを[SQL]タブにSQLクエリとして保存します。
先頭に戻る
関連トピック

 

 


©2003-2015 GrapeCity inc. All rights reserved.