
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ランキング
-
UNION ALLでつなげた複数ビュー...
-
CASE文内での計算
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
sqlに記述できない文字
-
オラクルのUPDATEで複数テーブル
-
UPDATEで既存のレコードに文字...
-
truncate tableを使って複数の...
-
chr(13) と char(13) の違いっ...
-
JDBCを使ってdate型へのINSERT...
-
SQLをExcelで書いている人を良...
-
エラーを起こす方法
-
SELECT文の結果をDEFINEの値と...
-
VBAでの行数を揃える方法
-
SQLで、Join句で結合したテ...
-
既存データをINSERT文にして出...
-
テーブル定義書(Oracle) 【IX】...
-
ACCESS VBAでSeekメソッドの処...
-
データベース ユーザの「このユ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UNION ALLでつなげた複数ビュー...
-
case whenとsum関数の併用について
-
文字列の集計的な結合(文字列の...
-
SQLにて列の値を一まとめにして...
-
CASE文内での計算
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
sqlに記述できない文字
-
UPDATEで既存のレコードに文字...
-
truncate tableを使って複数の...
-
PostgreSQLのtimestamp型で時間...
-
エラーを起こす方法
-
既存データをINSERT文にして出...
-
オラクルのUPDATEで複数テーブル
-
SQLで、Join句で結合したテ...
-
timestampのデータはどのように...
-
selectの単純繰り返し
-
Accessの構成をコピーしたい
-
pandasでsqlite3にテーブル作成...
おすすめ情報