【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード

1テーブル(V_TEST)より日付(CTR_M)を抽出条件(単年月、複数年月)で、
金額(COSTM_GR)をそれぞれ合算した結果を表示したい
以下のSELECT文に合算処理を入れて完成するのですが、わかりません。
具体的な方法をご教授ください。
※1回のSELECT文でデータを取得したい
(以下にSQL文、テーブル内容、処理結果を明記します)
使用ソフト:SQL Server2000

・SQL文
SELECT
SECTN_C,
TK = CASE WHEN CTR_M = '2005/06/01'
THEN COSTM_GR
ELSE 0
END,
COSTM_GR AS TR
FROM
V_TEST
WHERE
CTR_M = '2005/06/01' OR
CTR_M = '2005/04/01'


・V_TEST テーブル
CTR_M SECTN_C COSTM_GR
2005/03/011 10000
2005/04/011 1
2005/04/011 2
2005/04/011 3
2005/04/011 4
2005/04/011 105
2005/04/011 12345678901
2005/06/012 100000
2005/06/011 1005

・処理結果
SECTN_C TK TR
1 01
1 02
1 03
1 04
1 0105
1 012345678901
2 100000100000
1 10051005

A 回答 (2件)

ちょっとどういうデータが出したいのか自信ないのですが、


select CTR_M, sum(COSTM_GR) from V_TEST group by CTR_M
でどうですか?

この回答への補足

「単年月」「複数年月」のそれぞれの合計金額を横並びに結果を出力したいのです。

集約項目(SECTN_C)をグループ化して合計金額を出したい
(この説明が抜けていました)

・欲しい処理結果
SECTN_C TK TR
1 105012345780021
2 100000100000

補足日時:2005/06/29 19:49
    • good
    • 0

SECTN_Cの0か1というのが「単年月」「複数年月」という事ですか?


あとWHERE句でどういったデータを抽出しようとしているのかが良く分かりませんが、そのまま使用させてもらうとして以下のようだとどうでしょうか?

SELECT
SECTN_C,
TK = sum(CASE WHEN CTR_M = '2005/06/01'
THEN COSTM_GR
ELSE 0
END),
sum(COSTM_GR) AS TR
FROM
V_TEST
WHERE
CTR_M = '2005/06/01' OR
CTR_M = '2005/04/01'
GROUP BY
SECTN_C
    • good
    • 0
この回答へのお礼

WHERE句の条件はそのままで抽出します。
合計値がとれました!
なんとかやってみます。ありがとうございました。

お礼日時:2005/06/29 22:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す