![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Oracle9iのSQLPLUSにて、select結果の最終行に合計を出力したいだけなのですが、以下のようにcase when~と、sumを併用した場合に正しい合計値が集計されません。
select
AAA,BBB,CCC,sum(DDD),(case when sum(EEE < 0 then sum(EEE-(EEE*2)) else sum(EEE) end)
from
table_A
group by
GROUPING SETS(AAA,BBB,CCC),());
AAA,BBB,CCC,270,270
AAA,BBB,CCC,-270,-270
AAA,BBB,CCC,60,60
, , ,60,600
600×⇒60○
もしくは他に最終行にうまく合計値を出力する方法はありますでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
そういうことですか。
集計前に判断させればいいのでは?
SELECT
AAA,BBB,CCC,SUM(DDD),
SUM(CASE WHEN EEE < 0 THEN FFF*-1 ELSE FFF END)
FROM
TABLE_A
GROUP BY GROUPING SETS ((AAA,BBB,CCC),());
No.1
- 回答日時:
このクエリは本当に正しいですか?私には
(case when sum(EEE) < 0 then sum(EEE-(EEE*2)) else sum(EEE) end)
というのはABS(SUM(EEE))と同じにしか見えないので、クエリの5カラム目にマイナスが返ってくる理由がわからないのですが。
EEE列がどんな状態だと、マイナスになるのでしょうか?
この回答への補足
ご回答ありがとうございます。
間違いがありましたので訂正致します。
(case when sum(EEE) < 0 then sum(FFF-(FFF*2)) else sum(FFF) end)
↑例えば、EEE列が100、FFF列も100の場合、FFF列を100で、EEE列が-100、FFF列が100の場合、FFF列を-100にするものです。
申し訳ありませんでした。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- JavaScript JavaScript|特定URLだった時、特定の要素を変更するコードの書き方を教えてほしいです 2 2023/08/25 21:43
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列の集計的な結合(文字列の...
-
小数点のある数値で整数部のみ...
-
【SQL】他テーブルに含まれる値...
-
SELECT INTOで一度に複数の変数...
-
フラグをたてるってどういうこ...
-
オラクルのUPDATEで複数テーブル
-
sqlに記述できない文字
-
SQLで、Join句で結合したテ...
-
UPDATEで既存のレコードに文字...
-
右向き、左向きの速度が最大と...
-
結合したテーブルをSUMしたい
-
truncate tableを使って複数の...
-
Accessの構成をコピーしたい
-
Accessで今日から5日後
-
ExcelのMatch関数のようなもの...
-
全テーブルの列数を調査したい
-
SELECTした結果に行番号を求めたい
-
CSVファイルを読み込んでテーブ...
-
PostgreSQLのtimestamp型で時間...
-
MySQLで数字の値のもののみを取...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
case whenとsum関数の併用について
-
UNION ALLでつなげた複数ビュー...
-
CASE文内での計算
-
文字列の集計的な結合(文字列の...
-
小数点のある数値で整数部のみ...
-
SQLで、あるグループの集計を行...
-
【SQL】他テーブルに含まれる値...
-
SELECT INTOで一度に複数の変数...
-
フラグをたてるってどういうこ...
-
スキーマ
-
sqlに記述できない文字
-
オラクルのUPDATEで複数テーブル
-
Accessで今日から5日後
-
timestampのデータはどのように...
-
UPDATEで既存のレコードに文字...
-
pandasでsqlite3にテーブル作成...
-
テーブル名が可変の場合のクエ...
-
PostgreSQLのtimestamp型で時間...
-
truncate tableを使って複数の...
-
IDとパスワードについて。
おすすめ情報