Accessでお仕事 ユニオンUNION クエリを使用して、複数のテーブルのフィールドのデータを結合する(パソコン便利ツール集)

ユニオン クエリを使用して、
複数のテーブルのフィールドのデータを結合

AとBの和集合(結び)  ここでは、同じデザイン (ファイルレイアウト) の複数のファイルを結合する方法を取り上げます。

例えば、A工場の取引先リストと、B工場の取引先リストを合体して、統合取引先リストを作ろうとしているときなどです。

注:  UNION は、レコード(行)を単純に合体するだけなので、例えば、A工場とB工場の取引先に、キーが共通のものがあり、このキーの重複は排除したい場合などは、
 ベースとなるデータベースに、追加するデータベースを、[追加クエリ] を使って、追加して統合します。重複レコードの削除の項目を参照下さい。

ユニオン クエリは、複数のテーブルやクエリの対応するフィールドを 1 つのフィールドに結合します。ユニオン クエリを実行すると、含まれているテーブルやクエリの対応するフィールドからのレコードが返されます。

  1. データベース ウィンドウで [オブジェクト] の (クエリ) をクリックし、データベース ウィンドウのツールバーの [新規作成] をクリックします。

  2. [クエリの新規作成] ダイアログ ボックスの [デザイン ビュー] をクリックし、[OK] をクリックします。


  3. テーブルやクエリを追加せずに、[テーブルの表示] ダイアログ ボックスの [閉じる] をクリックします。

  4. [クエリ] メニューの [SQL] をポイントし、[ユニオン] をクリックします。

     と、「ヘルプ」にありますが、そうすると、全ての SQLコード を手打ちしなければならないので、私は以下を推奨します。

  5. 一つ目のテーブルやクエリを追加して、[テーブルの表示] ダイアログ ボックスの [閉じる] をクリックします。(追加テーブルのフィールド名が異なる場合は、追加するテーブルも追加しておきます。)

  6. テーブルの「*」をダブルクリックして、デザイン・グッリドにフィールドを追加します。表示するフィールドを限定する場合は、必要なフィールドをダブルクリック(あるいはドラッグ・アンド・ドロップ)して、デザイン・グッリドのセルに追加します。

  7. 「表示」→「SQLビュー」にします。

  8. SQLビューで表示された、SELECT 〜の「;」より前までを、コピーして、「;」の前に、挿入して貼り付けます。そして、UNION を手入力して、追加テーブル名を変更します。こうすれば、下記の SQLコード を、簡単に作成できます。

    ユニオン クエリによって複数のテーブルのデータを結合する

     通常は、一つ目のテーブルと、追加テーブルで、重複するレコード(行)が有った場合は、重複するレコードを返さないようにするので、上の図のように、SQL SELECT ステートメントを UNION 演算子と組み合わせて入力します。
     もし、重複するレコード(行)も返すようにするときは、SQL SELECT ステートメントを UNION ALL 演算子と組み合わせて記述します。つまり、UNION の後ろに ALL を追加します。

    メモ   各 SELECT ステートメントは、同じ順で同数のフィールドを返す必要があります。対応するフィールドは、互換性のあるデータ型を持っていなければなりません。ただし、数値型フィールドとテキスト型フィールドは、対応するフィールドとして使用できます。

    UNION 操作

  9. ユニオン クエリに並べ替えを指定する場合は、最後の SELECT ステートメントの後に ORDER BY 句を 1 つ追加します。ORDER BY 句で並べ替えるフィールド名を指定します。このフィールド名は最初の SELECT ステートメントで指定されているものでなければなりません。

  10. クエリの結果を表示するには、ツールバーの (ビュー) をクリックします。
 クエリーを名前を付けて保存すれば、UNION のアイコンができます。

注意   ユニオン クエリを選択クエリなどのほかの種類のクエリに変換した場合は、入力した SQL ステートメントは失われます。

メモ

Excelではコピー貼付けした後、フィルタで削除

 Excelの場合は、コピー・貼り付けで、二つのテーブルを、一つのテーブルにまとめます。必要によって、並び替えをします。

 ユニークなキーの重複が有って、キーの重複を排除したい場合は、集計を使って重複部分を削除します。


このページのトップに戻る↑ 次の項目を見る↓ Accessでお仕事 目次に戻る

ホームページのトップに戻る