以下テーブルでキー①、キー② のグループで最新年月の金額を取得し、
それをキー①毎に合計し、その合計結果で元テーブルをUPDATEしたいです。【以下(2)】
キー①が001のレコードの金額は一律、90,000(20,000+30,000+40,000)で出力したいです。
最終的にはキー①単位にレコード集約(最新年月のみ表示)します。【以下(3)】
前回と同じ質問となり、結局うまくいかず再度ご質問させてください。
以上よろしくお願いします。
(1)【実行前テーブル】
No キー① キー➁ 年月 金額
1 001 111 201804 10,000
2 001 111 201805 20,000
3 001 112 201804 30,000
4 001 113 201806 40,000
5 002 222 201807 50,000
6 002 222 201808 60,000
(2)【実行後テーブル】※集計金額設定
No キー① キー➁ 年月 金額 集計金額
1 001 111 201804 10,000 90,000
2 001 111 201805 20,000 90,000
3 001 112 201804 30,000 90,000
4 001 113 201806 40,000 90,000
5 002 222 201807 50,000 90,000
6 002 222 201808 60,000 90,000
(3)【実行後テーブル】※キー①単位にレコード集約(最新年月のみ表示)
No キー① キー➁ 年月 金額 集計金額
4 001 113 201806 40,000 90,000
6 002 222 201808 60,000 90,000
No.1ベストアンサー
- 回答日時:
>最新年月の金額
(2)の5,6の集計値は60,000じゃないの?
・テストデータ
create table tbl(no int,key1 varchar(10),key2 varchar(10),ym varchar(10),price int);
insert into tbl values
(1,'001','111','201804',10000),
(2,'001','111','201805',20000),
(3,'001','112','201804',30000),
(4,'001','113','201806',40000),
(5,'002','222','201807',50000),
(6,'002','222','201808',60000);
・(2)集計
select * from tbl as t2
inner join(
select key1,sum(price) as shukei from tbl as t1
where not exists(select 1 from tbl where key1=t1.key1 and key2=t1.key2 and ym>t1.ym)
group by key1) as t3 on t2.key1=t3.key1
・(3)集計
select * from tbl as t2
inner join(
select key1,sum(price) as shukei from tbl as t1
where not exists(select 1 from tbl where key1=t1.key1 and key2=t1.key2 and ym>t1.ym)
group by key1) as t3 on t2.key1=t3.key1
where not exists(select 1 from tbl where key1=t2.key1 and ym>t2.ym)
ご指摘とおり集計値は60,000です。失礼いたしました。
ご提示いただいた内容で実現しました。
勉強させていただきました、ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) MAXで0が出力される 1 2022/03/31 21:43
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- Oracle update文で質問です。 下記の条件でupdateをしたいですが、どのようにしたら良いでしょうか。 2 2022/06/23 10:51
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- Windows 10 BitLocker回復キーを知りたいのですが、手順を教えて下さい。 2 2023/03/16 14:21
- その他(Microsoft Office) Excel VBA で条件に合わせて行を合算する方法 2 2022/04/27 14:21
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- オープンソース VScodeでステップ実行が出来ない 1 2023/04/03 22:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
更新クエリでキー違反
-
オラクルではできるのにSQLSERV...
-
ACCESSのSQLで、NULLかNULLでな...
-
Access2000へのインポートエラー
-
アクセス 日付抽出(年月のみ)...
-
MAX値を条件にデータを取得する...
-
accessでのリンクテーブルの更新
-
access前月差分クエリ書き換え...
-
違いを教えてください
-
エクセル
-
「マスタ」と「テーブル」の違...
-
ACCESS2007 フォーム 「バリア...
-
2つのテーブルから条件に一致...
-
ビューで引数を使いたい
-
PhpMyAdminで作成して実行せよ...
-
ACCESS 一番最新の日付の金額...
-
アクセスのテーブルからエクス...
-
Accessのリンクテーブルについて
-
accessテーブル作成クエリを実...
-
Accessにインポートしたら並び...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのSQLで、NULLかNULLでな...
-
オラクルではできるのにSQLSERV...
-
sqlserverで集計結果をUPDATEし...
-
アクセス 日付抽出(年月のみ)...
-
更新クエリでキー違反
-
シャープレジスター エラーコード
-
MAX値を条件にデータを取得する...
-
sqlplusでバックスペースが効か...
-
ACCESSで複数テーブルを結合し...
-
違いを教えてください
-
AccessのSQLで、FROM句の構文エ...
-
sqlserverで対象のレコードを削...
-
片方のテーブルにないデータを...
-
集計処理について
-
access前月差分クエリ書き換え...
-
レコードの有無をすばやく検索...
-
sqlserverで同一キー単位で金額...
-
accessでのリンクテーブルの更新
-
Access2000へのインポートエラー
-
検索キーの設定手法
おすすめ情報