- ベストアンサー
SQL文のGROUP化について
いつも勉強させて頂いています。 環境 VB2008 SQLSERVER2005 条件を指定してグループ化をしたいのですが方法をご教授くださいませ。 例) 項目 値 AAA 100 BBB 200 CCC 100 DDD 300 上記データの場合 AAAとBBBを合算して値を表示(AS 'AB') CCCとDDDを合算して表示(AS 'CB') 表示後) 項目 値 平均値 AB 300 150 CD 400 200 いろいろと試していますが、いまいちうまくいきません。 宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
すぐに思いついた方法です。 ほかにもやり方は、いろいろあるとは思いますが。 SELECT 項目, SUM(値) AS 値, AVG(値) AS 平均値 FROM ( SELECT CASE WHEN 項目 = 'AAA' OR 項目 = 'BBB' THEN 'AB' ELSE 'CD' END AS 項目, 値 FROM TABLE ) GROUP BY 項目 上記でどうでしょうか? 動作確認までは、していませんので。
お礼
皆様がたのご回答有難う御座います。 A,B,C,D以外のデータもあり、その中からパラメータで指定して抜き出す 作業を考えています。 対象データとそれ以外(ELSE)の形で取ってくることはできましたが、 kikujackさんの言うように対象データのみの場合は、エラーがでました。 その為、とってきた後に、表示させないようにして対応しました。