ID非公開さん
2022/5/24 16:36
1回答
ACCESS 2つのテーブルから1つのテーブルを作成する方法について。 画像のようなテーブル1、2を 「完成したい姿」テーブルへもっていきたいです。 例えば、
ACCESS 2つのテーブルから1つのテーブルを作成する方法について。 画像のようなテーブル1、2を 「完成したい姿」テーブルへもっていきたいです。 例えば、 A_1 を1行にまとめ、計画と実績が横並びになるように。 クエリで結合しプロパティ設定すると、 どちらか一方のデータが表示されないため 一旦 テーブル1、2のレコードを別のテーブルに入れました。 その後、 「完成したい姿」テーブルのように レコードをまとめる方法が分かりません。 SQLでテーブルを結合も考えましたが スキルがなく諦めました。 (テーブル1は、別テーブルからシステムNOで抽出している。システムNOは、フォームのコマンドを指定したい) 煮詰まってしまいました。 どなたか解決策お分かりになりますでしょうか。 よろしくお願いします。
Microsoft Access | Visual Basic・84閲覧・100
ベストアンサー
考え方として一発では出来ないので処理を2回に分けてクエリを構築します。 ①2つのテーブルを1つに結合させる ユニオンクエリで実現させます。 ユニオンクエリはクエリデザイン画面では構築できないのでSQLビューにてSQLテキストを手打ちします。 SELECT [テーブル1].[システムNO], [テーブル1].[システム名称], [テーブル1].計画, Null AS 実績 FROM テーブル1 UNION ALL SELECT [テーブル2].[システムNO], [テーブル2].[システム名称], Null AS 計画, [テーブル2].実績 FROM テーブル2; 便宜上「クエリ1」と命名して保存します。 ②フィールド[システムNO]で統合させる 集計クエリで実現させます。 ⇒ 添付画像を参照してください。 以上を1つのクエリとしてまとめるとSQLで↓こんな感じです。 SELECT [クエリw].[システムNO], Max([クエリw].[システム名称]) AS システム名称, Sum([クエリw].計画) AS 計画, Sum([クエリw].実績) AS 実績 FROM ( SELECT [テーブル1].[システムNO], [テーブル1].[システム名称], [テーブル1].計画, Null AS 実績 FROM テーブル1 UNION ALL SELECT [テーブル2].[システムNO], [テーブル2].[システム名称], Null AS 計画, [テーブル2].実績 FROM テーブル2 ) AS クエリw GROUP BY [クエリw].[システムNO];
1人がナイス!しています
質問者からのお礼コメント
できました! ご丁寧にありがとうございます。 勉強すべき方向も分かりました。 早々にご教示いただきとても助けられました。
お礼日時:5/27 22:15