
初心者です。 どなたかご教授いただけると助かります。
=====
=table1=
usercd point class
1 100 5
2 200 5
1 500 5
3 150 11
=table2=
usercd point class
1 150 11
2 700 5
3 200 11
のように、データが2つのテーブルに分かれています。
table1とtable2をUNIONして、usercd ごとの各class の point 合計を表示させたいと思います。
=結果(として期待しているもの)=
usercd class5合計 class11合計
1 600 150
2 900 0
3 0 350
==========
UNION して 片方(例:class5) の合計を集計することは出来ました。
=出来たsql=
SELECT "usercd",Sum("point") FROM
(SELECT * FROM "table1" UNION ALL SELECT * FROM "table2") AS "sumpoint5"
WHERE "class" = '5'
GROUP BY "usercd";
しかし、それぞれの合計を一度に集計する方法がわかりません。
どうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
既に解決したと思いますが...
SELECT usercd,
Sum(CASE class WHEN 5 THEN point ELSE 0 END) AS class5,
Sum(CASE class WHEN 11 THEN point ELSE 0 END) AS class11
FROM
(SELECT * FROM table1 UNION ALL SELECT * FROM table2) as T1
GROUP BY usercd
ORDER BY usercd;
これでどうでしょうか?
試してみたところご希望の結果が返ってきました。
解決していませんでした。 うまくいかずに、途方にくれておりました。
希望の結果が返ってきました。 スバラシイです。
本当にありがとうございました。 深謝。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つの列からの最大値取得
-
SQLで期間をずらした集計処理
-
SELECT INTOで一度に複数の変数...
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
truncate tableを使って複数の...
-
既にテーブルが存在する場合の...
-
sqlに記述できない文字
-
エラーを起こす方法
-
任意のテーブルをdrop tableしたい
-
timestampのデータはどのように...
-
Smartyの[]内に[]を使いたいです。
-
SQLサーバに対するSQL文で抽出...
-
DB2のSQLコマンドについて
-
SQLでレコード間の値の交換
-
SELECT の仕方 (今月のデー...
-
SQLで、Join句で結合したテ...
-
PostgreSQLのtimestamp型で時間...
-
SQL実行エラー時のロールバック...
-
SELECT文の結果をDEFINEの値と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つの列からの最大値取得
-
複数行の結果を単一列に連結
-
SQLで期間をずらした集計処理
-
【SQL】他テーブルに含まれる値...
-
SELECT INTOで一度に複数の変数...
-
フラグをたてるってどういうこ...
-
sqlに記述できない文字
-
truncate tableを使って複数の...
-
UPDATEで既存のレコードに文字...
-
PostgreSQLのtimestamp型で時間...
-
オラクルのUPDATEで複数テーブル
-
既存データをINSERT文にして出...
-
エラーを起こす方法
-
SQLで、Join句で結合したテ...
-
Accessの構成をコピーしたい
-
SQLサーバに対するSQL文で抽出...
-
UPDATEの更新前の値を取得したい
-
JDBCを使ってdate型へのINSERT...
-
テーブル名が可変の場合のクエ...
-
既にテーブルが存在する場合の...
おすすめ情報