#198 同じ構造の複数のテーブルを1つにまとめる方法 クエリー

複数の営業所の売上データのテーブルを1つにまとめて整理したいような場合、
  • 空の状態の「全営業所売上」テーブルに、各営業所のテーブルを1つずつ、追加クエリーによってレコード追加していく
  • 空の状態の「全営業所売上」テーブルに、各営業所のテーブルから1つずつ、全レコードのコピー&貼り付け操作によってレコード追加していく
といった方法が考えられます。しかし、同じ構造のテーブルであれば「ユニオンクエリー」を使うことによって、簡単にクエリー上で複数営業所のテーブルをあたかも1つのテーブルのように扱えるようにすることができます。

ユニオンクエリーの場合は、残念ながらクエリーのデザインビューにおいて、マウス操作によって簡単に作るということができません。SQLビューを使って、直接SQL文を記述する必要があります。しかし、それほど複雑なSQL文ではありません。下記例をもとに、SQL文を書いてみてください。


次の例では、3つの営業所のテーブルを1つにまとめます。A営業所のデータは「tbl営業所売上_A」、B営業所のデータは「tbl営業所売上_B」、C営業所のデータは「tbl営業所売上_C」という名前のテーブルに保存され、データベース内にインポートまたはリンクされているとします。
tbl営業所売上_Aテーブルのデータ
tbl営業所売上_Bテーブルのデータ
tbl営業所売上_Cテーブルのデータ


クエリーのデザイン画面をSQLビュー(メニュー[表示]-[SQLビュー])に切り替えて、下記のようなSQL文を書き込んで、ユニオンクエリーを作成します。ここでは、3つのテーブルをまとめた上で、売上日付順に並べ替えも行っています。

SELECT * FROM tbl営業所売上_A
UNION SELECT * FROM tbl営業所売上_B
UNION SELECT * FROM tbl営業所売上_C
ORDER BY 売上日付;
SQLビュー


これを実行しデータシートを表示させると、下記のようにデータが出力されます。3つの営業所のデータが1にまとめられていることが分かります。
ユニオンクエリーの実行結果
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved