![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
何度も恐縮です。前回の質問(例題)が間違えていました。
本当に申し訳ございません。改めて、お願いしたい次第です。
Oracl[10g]の SQL文について、教えて下さい。
[C1]テーブルに [CODE](key) と [NAME]フィールドがあるとします。
内容は、
A-1 NAME-1
A-2 NAME-2
A-3 NAME-3 と、します。
[B]テーブルに [CODE](key) と [NOUKI](key) と [KIN] フィールドがあるとします。
内容は、
A-1 2005/01/01 100
A-1 2005/01/02 200
A-2 2005/01/01 300
A-2 2005/01/10 400
A-2 2005/12/10 500 と、します。
[C2]テーブルに [CODE2](key) と [NAME2] と [CODE] フィールドがあるとします。
内容は、
AAA NAME2-1 A-1
BBB NAME2-2 A-2
CCC NAME2-3 A-3 と、します。
[C3]テーブルに [CODE2](key) と [NO](key) と [KIN2] フィールドがあるとします。
内容は、
AAA 1 200
AAA 2 300
BBB 1 10
BBB 2 20
BBB 3 30 と、します。
結果が、
A-1 NAME-1 300[B]テーブルの合計 500[C3]テーブルの合計
A-2 NAME-2 1200[B]テーブルの合計 60[C3]テーブルの合計
と、なる様にする為には、どういうSQL文を書けば良いのでしょうか ?
前回、教えて頂いた例を参考に頑張っているのですが、
まだ、私には難しすぎる様です。
よろしくお願い致します。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_06.png?e8efa67)
No.1ベストアンサー
- 回答日時:
SELECT C1.CODE, MAX(C1.NAME) AS NAME, SUM(B.KIN) AS KIN
FROM B, C1
WHERE C1.CODE = B.CODE
GROUP BY C1.CODE
と
SELECT C2.CODE, SUM(C3.KIN2) AS KIN2
FROM C2, C3
WHERE C2.CODE2 = C3.CODE2
GROUP BY C2.CODE
の結果をCODEで合体させたイメージと考えて、
SELECT B.CODE, B.NAME, B.KIN, C.KIN2
FROM (
SELECT C1.CODE, MAX(C1.NAME) AS NAME, SUM(B.KIN) AS KIN
FROM B, C1
WHERE C1.CODE = B.CODE
GROUP BY C1.CODE
) B, (
SELECT C2.CODE, SUM(C3.KIN2) AS KIN2
FROM C2, C3
WHERE C2.CODE2 = C3.CODE2
GROUP BY C2.CODE
) C
WHERE B.CODE = C.CODE
ではどうでしょうか?
他にもっといい解がありそうな気もしますが。
ありがとうございます。成功致しました。
次の課題も待っているのですが、色々と
今回教えて下さった事を踏まえて
頑張ります。(やっぱり聞くかも・・・)
今後とも、宜しくお願い致します。
No.2
- 回答日時:
やっとわかった・・・。
SELECT C1.CODE,
C1.NAME,
B.KIN,
C3.KIN2
FROM C1,
C2,
(SELECT UNIQUE code, SUM(KIN) OVER(PARTITION BY CODE) KIN
FROM B) B,
(SELECT UNIQUE code2,SUM(KIN2) OVER(PARTITION BY CODE2) KIN2
FROM C3) C3
WHERE C1.CODE = C2.CODE
AND C1.CODE = B.CODE
AND c2.CODE2 = C3.CODE2
でいいのかな?
ありがとうございます。成功致しました。
次の課題も待っているのですが、色々と
今回教えて下さった事を踏まえて
頑張ります。(やっぱり聞くかも・・・)
今後とも、宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- MySQL 【MySQL】本当に困っています。詳しい方、ご教授よろしくお願いします。 1 2023/06/03 14:18
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- MySQL mysqlの結合について教えてください 1 2022/05/19 15:13
- PHP MySql PHP 2つのテーブルをJOINで結合 user_idで抽出 1 2023/01/03 14:04
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数が選択リストにありません
-
テーブルの存在チェックについて
-
異なるサーバのDBデータ同士を...
-
データがある場合のカラムの削除
-
Timestampの値を自動的に挿入す...
-
importについて
-
PostgreSQLのカラムに"user"と...
-
データベース内のテーブル名の取得
-
Object Browser相関タブの見方...
-
NLS_LENGTH_SEMANTICS変更の影響
-
テーブルのCreate文
-
リレーションをSQL文で作る方法...
-
既存DBのテーブル情報をCR...
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
エクセルVBAで5行目からオート...
-
ACCESSでの改行コード
-
Accessでテーブル名やクエリ名...
-
Accessでコードを入れると名前...
-
作番ってどういう意味でしょうか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数が選択リストにありません
-
テーブルの存在チェックについて
-
異なるサーバのDBデータ同士を...
-
importについて
-
既存DBのテーブル情報をCR...
-
データがある場合のカラムの削除
-
データベース内のテーブル名の取得
-
1ヶ月に土日は何日あるか
-
どれがPrimary Key、ForeignKey...
-
PostgreSQLのカラムに"user"と...
-
Timestampの値を自動的に挿入す...
-
Oracleのトリガーについて
-
NLS_LENGTH_SEMANTICS変更の影響
-
Object Browser相関タブの見方...
-
Oracle10gのテーブルをODBC経由...
-
Oracleでテーブル構成を表示す...
-
SQL:全テーブルの現在のデータ...
-
TIMESTAMP型が含まれるテーブル...
-
テーブルのCreate文
-
リレーションをSQL文で作る方法...
おすすめ情報