Access2007を使用しています。
以下のような2つのテーブルがあります。
<テーブルA>
区分 品番 金額 数量
A 001 10000 10
A S12 5000 5
A 002 8000 8
A 001 6000 6
<テーブルB>
区分 品番 金額 数量
B 001 2000 2
B S12 3000 3
このデータを元に、以下のような結果をピボットで表示したいと思っています。
区分
A | B |合計
品番 数量 金額|数量 金額 |数量 金額 差額(A-B)
001 16 16000| 2 2000 | 18 18000 14000
002 8 8000 | | 8 8000 8000
S12 5 5000 | 3 3000 | 8 8000 2000
テーブルAとBをユニオンクエリでまとめ、ピボットを作って
みたのですが、差額の部分が出せず・・・
どうぞよろしくお願いします。
No.3ベストアンサー
- 回答日時:
グループ化した場合、GROUP BY 句で指定しない項目は集計関数を使う
必要があります。(1)を全部書いてしまうと、次のようになります。
SELECT A.品番 AS 品番,SUM(A.数量) AS A数量,SUM(A.金額) AS A金額,
SUM(B.数量) AS B数量,SUM(B.金額) AS B金額
FROM テーブルA AS A LEFT JOIN テーブルB AS B ON A.品番=B.品番
GROUP BY A.品番
UNION
SELECT B.品番 AS 品番,SUM(A.数量) AS A数量,SUM(A.金額) AS A金額,
SUM(B.数量) AS B数量,SUM(B.金額) AS B金額
FROM テーブルA AS A RIGHT JOIN テーブルB AS B ON A.品番=B.品番
GROUP BY B.品番
ちょっと説明不足でしたね。
ありがとうございます。
このままだと、各数量と各金額が2倍の値になってしまったので、ちょっと考えてみます。
とても助かりました。ありがとうございました。
No.2
- 回答日時:
(1)クエリ
SELECT A.品番 AS 品番,SUM(A.数量) AS A数量,SUM(A.金額) AS A金額,
SUM(B.数量) AS B数量,SUM(B.金額) AS B金額
FROM テーブルA AS A LEFT JOIN テーブルB AS B ON A.品番=B.品番
UNION
SELECT B.品番 AS 品番,SUM(A.数量) AS A数量,SUM(A.金額) AS A金額,
SUM(B.数量) AS B数量,SUM(B.金額) AS B金額
FROM テーブルA AS A RIGHT JOIN テーブルB AS B ON A.品番=B.品番
(2)目的のSQL
SELECT 品番,A数量,A金額,B数量,B金額,
NZ(A金額,0)-NZ(B金額,0) AS 差額 FROM クエリ
この回答への補足
詳しい記述をありがとうございます。
早速、(1)のクエリを作り実行したところ
「集計関数の一部として指定された式'品番'を含んでいないクエリを
実行しようとしました。」とエラーメッセージが出てしまいました。
フィールド名も特に間違いはありませんでしたし、変な位置に改行を入れてしまっていないかなど確認したのですが、特に見当たりません。
何が考えられますでしょうか?
いろいろと質問してしまい申し訳ありません。
ちなみに、区分も品番もテキスト型なのですが、何か関係ありますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Access(アクセス) MAXで0が出力される 1 2022/03/31 21:43
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Excel(エクセル) Excelで在庫表(クエリ、ピボット) 2 2022/04/11 17:11
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Visual Basic(VBA) Excel VBA ユーザーフォーム内のラベルにテキストボックスの小計を出す方法 5 2022/08/17 14:27
- 統計学 t値の計算方法 1 2022/11/29 18:37
- 財務・会計・経理 事業復活支援金の事前確認について 2 2022/04/11 16:07
- 格安スマホ・SIMフリースマホ 今 ahamoを使っていて 4898円以下になる携帯会社があれば乗り換えたいです 20GBと24時間 9 2022/09/27 07:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのSQLで、NULLかNULLでな...
-
オラクルではできるのにSQLSERV...
-
sqlserverで集計結果をUPDATEし...
-
違いを教えてください
-
MAX値を条件にデータを取得する...
-
シャープレジスター エラーコード
-
更新クエリでキー違反
-
片方のテーブルにないデータを...
-
アクセス 日付抽出(年月のみ)...
-
sqlserverで同一キー単位で金額...
-
ACCESSで複数テーブルを結合し...
-
「マスタ」と「テーブル」の違...
-
数百万件レコードのdelete
-
ACCESS2007 フォーム 「バリア...
-
Access VBA [リモートサーバー...
-
[ BETWEEN ] vs [ >= AND <= ]
-
3つ以上のテーブルをUNIONする...
-
2つのテーブルから条件に一致...
-
SELECT時の行ロックの必要性に...
-
ACCESS 一つのフィールドに複...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
オラクルではできるのにSQLSERV...
-
ACCESSのSQLで、NULLかNULLでな...
-
sqlserverで集計結果をUPDATEし...
-
アクセス 日付抽出(年月のみ)...
-
ACCESSで複数テーブルを結合し...
-
MAX値を条件にデータを取得する...
-
更新クエリでキー違反
-
AccessのSQLで、FROM句の構文エ...
-
違いを教えてください
-
sqlserverで対象のレコードを削...
-
シャープレジスター エラーコード
-
accessでのリンクテーブルの更新
-
access前月差分クエリ書き換え...
-
sqlplusでバックスペースが効か...
-
MySQLのON DUPLICATE KEY UP
-
sqlserverで同一キー単位で金額...
-
sqlserverでUPDATEできません
-
Access2000へのインポートエラー
-
片方のテーブルにないデータを...
-
集計処理について
おすすめ情報