FAQ
1対多のテーブル結合をしたい

ナレッジ番号:3145 | 登録日:2023/05/29 | 更新日:2024/11/21

概要

下図のような1対多の関係にあるデータを使用してテーブル結合すると、属性テーブル等では結合したすべてのレコードを参照することができません。

  • 都道府県界
    1対多の「1」に相当する、 都道府県の境界ポリゴン フィーチャクラス。
    Image 
  • 年別人口
    1対多の「多」に相当する、年別・都道府県別人口を格納したテーブル。
    Image

    もし結合したすべてのレコードを属性テーブルで表示したい場合は、以下のいずれかの方法をお試しください。
  • これらの操作を行うには、ご利用のデータ フォーマットがファイル ジオデータベース、パーソナル ジオデータベース、エンタープライズ ジオデータベースである必要があります。また、使用するフィーチャクラスやテーブルが同一のワークスペース (またはジオデータベース) に格納されている必要がございます。
属性テーブルから、結合したテーブルのすべてのレコードを参照したい場合は、[リレート] の機能を使用します。
操作方法は「 ヘルプ:関連レコードへのアクセス」でご確認ください。

[クエリテーブルの作成] ツールを使用する方法

このツールをご利用いただくには、使用するフィーチャクラスやテーブルが同一のワークスペース (またはジオデータベース) に格納されている必要がございます。詳細は 本ツールのヘルプでご確認ください。

手順

  1. ArcToolbox → [データ管理ツール] → [レイヤーとテーブル ビュー] → [クエリ テーブルの作成 (Make Query Table)] ツールを起動します。
  2. 以下の図や説明をもとに、各パラメーターの設定を行います。
    Image  Image

    番号 パラメーター 説明
     1  入力テーブル

    使用するフィーチャクラスやテーブル名を指定します。 

     2  フィールド

    作成するテーブルに追加するフィールドにチェックを入れます。フィーチャクラスの幾何形状を保持する場合は [Shape] フィールドにチェックを入れます。

    ※ 複数 [Shape] フィールドがある場合は、いずれか1つにのみチェックを入れてください。 

     3  条件式 

    レコードの抽出条件を指定します。今回は 2 つの [入力テーブル] を結合するためのキー フィールドをイコールで連結します。[SQL] ボタンを使用して条件式を作成すると、フィールド名がダブルクォートで括られますが、ダブルクォートは除外してください。

     4  テーブル名  作成されるテーブルの名称。必要に応じて変更します。
     5  キー フィールド オプション  クエリ用の ObjectID フィールドを生成する場合、その生成方法を指定します。今回は「USE_KEY_FIELDS」を選択します。
     6  キー フィールド  [キー フィールド オプション] で「USE_KEY_FIELDS」を選択している場合に設定します。今回はテーブル側の OBJECTID にのみチェックを入れます。

  3. [OK] ボタンで処理を開始します。処理が終わると、指定した名称のレイヤー (またはテーブル) が作成されます。
    [Shape] フィールドが含まれている場合で結合対象のテーブルが「多」に相当する場合は、結合したテーブルのレコード数分フィーチャが作成されます。 
    Image 
このツールで作成されるレイヤーは一時的であるため、マップ ドキュメントを保存しておかない限り、セッション後に削除されます。 必要に応じて フィーチャクラスに変換しておいてください。

 

エクスポートする方法

テーブル結合した状態でデータをエクスポートします。

手順

  1. [コンテンツ] ウィンドウで結合元のデータを右クリックし、[属性の結合とリレート] → [結合] をクリックします。今回は「都道府県界」レイヤーが結合元となります。
    Image
  2. 表示される [結合] ダイアログで、以下のように設定します。
    ・ このレイヤーへの結合の対象 : テーブルの属性を結合
    ・ 結合に利用する値を持つフィールド : 結合元のデータが持つキー フィールド。
    ・ 結合対象レイヤーまたはテーブル : 結合対象のテーブル。今回は「年別人口」 テーブルを指定します。
    ・ 結合のマッチングに利用するフィールド :結合対象のテーブルが持つキー フィールド。
    Image
  3. [OK] ボタンをクリックしてダイアログを閉じます。テーブル結合が行われ、結合元の属性テーブルで、結合対象のテーブル (年別人口) のフィールドが追加されます。
    この時点では、結合対象テーブルのすべてのレコードを属性テーブルで参照することはできません。
  4. [コンテンツ] ウィンドウで結合元のデータを右クリックし、[データ] → [データのエクスポート] をクリックします。
    Image
  5. 表示されるダイアログで保存先や名称を指定し、[OK] ボタンをクリックします。
    Image
  6. 出力されたデータの属性テーブルを確認します。結合されたテーブルのレコード数分、フィーチャが作成されていることが確認できます。
      Image

参考情報

メタデータ

機能

種類

製品

バージョン