こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessのユニオンクエリーで3つのクエリを集計

Accessのユニオンクエリーで3つのクエリを集計したいのですが

Aクエリ
氏名  役員名  就任月  任期
山田   会長   24    1
田中  副会長   24    1

Bクエリ
氏名  役員名  就任月  任期
山田  副会長   12    0
田中   理事   24    1

Cクエリ
氏名  役員名  就任月  任期
山田   会長    24    1
田中  副会長   24    1

結果
氏名  役員名  就任月  任期
山田   会長    48    2
山田  副会長   12    0
田中  副会長   48    2
田中   理事   24    1

このような結果を得ることは出来ますでしょうか?

SELECT [氏名], [役員名],[就任月],[任期]
FROM [Aクエリ名]
UNION
SELECT [氏名], [役名],[就任月],[任期]
FROM [Bクエリ名]
UNION SELECT [氏名], [役名],[就任月],[任期]
FROM [Cクエリ名];


このように記述すると
氏名  役員名  就任月  任期
山田   会長   24    1
山田  副会長   12    0
山田   会長   24    1
田中  副会長   24    1
田中   理事   24    1
田中  副会長   24    1
このような結果になってしまうのですが・・

投稿日時 - 2015-03-18 14:26:42

QNo.8938198

すぐに回答ほしいです

質問者が選んだベストアンサー

以下のクエリを作成し、名前を「Qクエリ」とします。

SELECT [氏名], [役員名],[就任月],[任期]
FROM [Aクエリ]
UNION ALL
SELECT [氏名], [役員名],[就任月],[任期]
FROM [Bクエリ]
UNION ALL SELECT [氏名], [役員名],[就任月],[任期]
FROM [Cクエリ];


このクエリをテーブルとして以下の選択クエリを作成します。
氏名と役員名をグループ化し、就任月と任期を合計します。


SELECT Qクエリ.氏名, Qクエリ.役員名, Sum(Qクエリ.就任月) AS 就任月の合計, Sum(Qクエリ.任期) AS 任期の合計
FROM Qクエリ
GROUP BY Qクエリ.氏名, Qクエリ.役員名;


ミソは、「Qクエリ」でUNION ALL としているところです。
勘違いしていなければ、ですが。

投稿日時 - 2015-03-18 18:45:19

お礼

ご回答ありがとうございます!
早速、本日試してみたいと思います!

投稿日時 - 2015-03-19 08:42:32

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

補足:添付図で選択クエリとなっているのは単純なミス。

次の二つのSQLは、ユニオンクエリにはDISTINCT句は不要ということの確認テスト。添付図には、前者の結果を添付するつもりがミスで後者のを。そういうことで、添付図は、どちらも同一の前者のクエリの結果だということです。

SELECT 氏名, 役員名, 就任月, 任期 FROM Table_1
UNION
SELECT 氏名, 役員名, 就任月, 任期 FROM Table_2
UNION
SELECT 氏名, 役員名, 就任月, 任期 FROM Table_3

SELECT DISTINCT * FROM
[SELECT 氏名, 役員名, 就任月, 任期 FROM Table_1
UNION
SELECT 氏名, 役員名, 就任月, 任期 FROM Table_2
UNION
SELECT 氏名, 役員名, 就任月, 任期 FROM Table_3]. AS [%$##@_Alias];

投稿日時 - 2015-03-18 15:17:14

補足

実行してみましたが、うまくいきませんでした。
氏名と役員名をグループにしたいと思っています。

投稿日時 - 2015-03-18 15:35:43

お礼

スイマセン。後があったのですね・・・。
早速試してみます!ありがとうございます!

投稿日時 - 2015-03-18 15:23:08

ANo.1

>このような結果になってしまうのですが・・

この原因は、SQL文以外に!添付図のSQL文は同一。でも、結果は異なっています。この場合の理由は、田中さんの役職名が"副会長"ではなく”副会長_"となっているのが原因です。多分、この手の不具合かと思います。

投稿日時 - 2015-03-18 14:57:54

お礼

ご回答ありがとうございます!
不具合ということは、思い通りになることは難しいのでしょうか。

投稿日時 - 2015-03-18 15:22:05

あなたにオススメの質問