回答受付が終了しました

Accessの集計結果が2倍,3倍になってしまう。 添付画像の通りなのですが、集計結果が欲しい値の3倍になってしまってます。

Accessの集計結果が2倍,3倍になってしまう。 添付画像の通りなのですが、集計結果が欲しい値の3倍になってしまってます。 これを1倍にするにはどうすればよいでしょうか クエリのSQLは以下の通りです。 SELECT ID.ID, Sum([テーブル1].[1番データ]) AS 1番データの合計, Sum([テーブル2].[2番目のデータ]) AS 2番目のデータの合計 FROM (ID LEFT JOIN テーブル1 ON ID.ID = [テーブル1].ID) LEFT JOIN テーブル2 ON ID.ID = [テーブル2].ID GROUP BY ID.ID; 「ID」テーブル ID 短いテキスト型 主キーを設定 「テーブル1」 ID 短いテキスト型 1番データ 数値型 ※テーブル全体で主キーを設定せず 「テーブル2」 ID 短いテキスト型 2番データ 数値型 ※テーブル全体で主キーを設定せず テーブル1とテーブル2は極力主キーを設定しない方法でやりたいです。

画像
補足

画像が見にくかったので入出力データを文字で書きます。 「ID」テーブル IDフィールド A1 B1 「テーブル1」 IDフィールド、1番目のデータ A1、1 B1、1 A1、1 A1、1 「テーブル2」 IDフィールド、2番目のデータ A1、3 「集計クエリ」 ID、1番目のデータ、2番目のデータ A1、3、9 B1、1、空白 ↑の9を3にしたい

Microsoft Access41閲覧xmlns="http://www.w3.org/2000/svg">500

回答(2件)

0

ExcelのVlookupはダブらないけど、joinはダブるものね。 サブクエリで集計すれば? SELECT ID, (SELECT SUM (1番目のデータ) FROM テーブル1 WHERE ID=ID.ID) AS 1番目のデータ, (SELECT SUM (2番目のデータ) FROM テーブル2 WHERE ID=ID.ID) AS 2番目のデータ FROM ID

0

クエリ1、クエリ2、クエリ3と分割するのが分かりやすくて良いのですが どうしても1つでしたい場合は、□クエリ1つでを試してみてください。 □クエリ1 SELECT [テーブル1].ID, Sum([テーブル1].[1番データ]) AS 1番データの合計 FROM テーブル1 GROUP BY [テーブル1].ID; □クエリ2 SELECT [テーブル2].ID, Sum([テーブル2].[2番目のデータ]) AS 2番目のデータの合計 FROM テーブル2 GROUP BY [テーブル2].ID; □クエリ3 SELECT ID.ID, [クエリ1].[1番データの合計], [クエリ2].[2番目のデータの合計] FROM (ID LEFT JOIN クエリ1 ON ID.ID = [クエリ1].ID) LEFT JOIN クエリ2 ON ID.ID = [クエリ2].ID; □クエリ1つで SELECT ID.ID, [A].[1番データの合計], [B].[2番目のデータの合計] FROM (ID LEFT JOIN (SELECT [テーブル1].ID, Sum([テーブル1].[1番データ]) AS 1番データの合計 FROM テーブル1 GROUP BY [テーブル1].ID) AS A ON ID.ID = [A].ID) LEFT JOIN (SELECT [テーブル2].ID, Sum([テーブル2].[2番目のデータ]) AS 2番目のデータの合計 FROM テーブル2 GROUP BY [テーブル2].ID) AS B ON ID.ID = [B].ID;