【明細データ】と【変換テーブル】で、変換後明細データを作成
して、その結果を集計したいのですが、、、
下記の結果を求めるためにはSQLひとつで可能でしょうか?
※(3)の表まではunionで可能でしたが、unionでは集計はできないですよね。。。。
(1)【明細データ】
CODE VALUE AMOUNT
A 1000 10000
B 2000 20000
C 3000 30000
D 4000 40000
E 1001 10000
F 2001 20000
G 3000 30000
H 4000 40000
(2)【変換テーブル】
VALUE1 VALUE2
1000 1001
2000 2001
(3)【変換後明細データ】
CODE VALUE AMOUNT
A 1001 10000
B 2001 20000
C 3000 30000
D 4000 40000
E 1001 10000
F 2001 20000
G 3000 30000
H 4000 40000
(4)【SQL抽出結果】が欲しい
VALUE AMOUNT
1001 20000
2001 40000
3000 60000
4000 80000
No.4ベストアンサー
- 回答日時:
#1です
やっぱテストしないとダメですね
テーブル作って試しました
select value , sum(amount) from
(select a.CODE CODE,
nvl(b.value2,a.value ) value,
a.AMOUNT AMOUNT
from 明細データ a,
変換テーブル b
where a.value = b.value1(+))
group by value
更に、作ってくださったのですね。
ありがとうございます。
ばっちりでした。
from句に select文を書いて、カラム名称を
つけてあげれば、うまく出来るのですね、勉強になりました。
No.3
- 回答日時:
質問者様Oracleの質問で大丈夫ですか?
#Accessでの質問が多いようですが…
試してませんが、これでいけないですか?
SELECT T.VALUE, SUM(T.AMOUNT)
FROM
(SELECT DECODE(B.VALUE2, NULL, A.VALUE, B.VALUE2) VALUE
,A.AMOUNT
FROM 明細データ A LEFT JOIN 変換テーブル B
ON A.VALUE = B.VALUE1
) T
GROUP BY T.VALUE
No.2
- 回答日時:
select nvl(Y.VALUE1,X.VALUE) VALUE,sum(AMOUNT) AMOUNT
from 明細データ X,変換テーブル Y
where X.VALUE=Y.VALUE1(+)
group by nvl(Y.VALUE1,X.VALUE);
こんな感じ。
回答ありがとうございます。
nvl(Y.VALUE1,X.VALUE);が、
nvl(Y.VALUE2,X.VALUE);
でしたが、出来ました。niceです。nvlをGourpByするのですね。
ありがとうございます。
No.1
- 回答日時:
これでいけるでしょう
ポイントは3をインラインビューにするだけ
select value , sum(amount)
(select a.CODE CODE,
b.VALUE2 VALUE,
a.AMOUNT AMOUNT
from 明細データ a,
変換テーブル b
where a.value = b.value1)
group by value
この回答への補足
早速の回答ありがとうございます。(Oracleです)
すいません、このまま実行したらダメでした。
sumの後に fromを追加ですか? これも結果はダメでした。
> ポイントは3をインラインビューにするだけ
とは、(select a.CODE CODE,b.VALUE2 VALUE,a.AMOUNT AMOUNT
from 明細データ a,変換テーブル bwhere a.value = b.value1)
の事ですよね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Excel(エクセル) VLOOKUP 構造化参照について 1 2023/04/24 19:39
- Visual Basic(VBA) 日付を重複させずに数えたい 4 2022/12/04 16:26
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
このQ&Aを見た人はこんなQ&Aも見ています
-
【お題】NEW演歌
【大喜利】 若い人に向けたことは分かるけど、それはちょっと寄せ過ぎて変になってないか?と思った演歌の歌詞
-
「平成」を感じるもの
「昭和レトロ」に続いて「平成レトロ」なる言葉が流行しています。 皆さんはどのようなモノ・コトに「平成」を感じますか?
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
いけず言葉しりとり
はんなりと心にダメージを与える「いけず言葉」でしりとりをしましょう。 「あ」あら〜しゃれた服着てはりますな 遠くからでもわかりましたわ
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
2つのテーブルのカウント結果を1行で取得
SQL Server
-
UNION ALLでつなげた複数ビューの集計
Oracle
-
複数のテーブルから値を合計出力するSQLについて
MySQL
-
-
4
Unionした最後にGROUP BYを追加する 又はそれにかわるような方法はありますか?
MySQL
-
5
2つのテーブルを結合して最大値を取得したい
SQL Server
-
6
Accessユニオンクエリーで2つのテーブルを集計
その他(データベース)
-
7
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
8
テーブルに存在しない列をselect文で出力する事はできないでしょうか?
PostgreSQL
-
9
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
10
SQLの集計で「全て」の合計も表示したい
その他(データベース)
-
11
Javaで年月の取得(YYYYMM形式で)
Java
-
12
データベースのINT型項目にNULLはNG?
MySQL
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
MERGE文を単体テーブルに対して...
-
select insertで複数テーブルか...
-
SELECTの結果で同一行を複数回...
-
oracleの分割delete
-
unionの結果は集計はできないで...
-
固定値を含む結合と複数テーブ...
-
複数テーブルのMAX値の行データ...
-
外部結合とor条件混在の記述方法
-
結合と副問い合わせの違い
-
SQL GROUPで件数の一番多いレコ...
-
unionでマージした副問合せを結合
-
SQL文で質問です
-
集計後の数値が倍になる
-
select
-
他のテーブルを参照した値はupd...
-
Oracleでの文字列連結サイズの上限
-
SELECTで1件のみ取得するには?
-
GROUP BYを使ったSELECT文の総...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select insertで複数テーブルか...
-
select句副問い合わせ 値の個...
-
SELECTの結果で同一行を複数回...
-
固定値を含む結合と複数テーブ...
-
MERGE文を単体テーブルに対して...
-
複数テーブルのMAX値の行データ...
-
他のテーブルを参照した値はupd...
-
外部結合とor条件混在の記述方法
-
oracleの分割delete
-
SQLの書き方(チェックボックス)
-
SET句内で複数の条件を指定して...
-
unionでマージした副問合せを結合
-
unionの結果は集計はできないで...
-
SQL GROUPで件数の一番多いレコ...
-
集計後の数値が倍になる
-
結合と副問い合わせの違い
-
DELETE 文とEXISTSの使い方につ...
-
マテビューのNOTNULL設定について
-
副問い合わせのinsert文
おすすめ情報