• ベストアンサー

【SQL】違うフィールド同士の集計をしたい

表記の件ですが、SUM関数はフィールドが同じで違うレコードを集計していくのですが、そうではなく、違うフィールド同士を集計したいのですが、どうしたらいいのかわかりません。 (※アクセスなら可能なのかもしれませんが。) a b c 100 200 300 上記の場合、a+b+c= 600 という戻り値が欲しいのです。 恐れ入りますが、どなたか(可能不可能でもOK)ご教授ください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

Oracle上で可能です。 select a+b+c from hogehoge;

goot
質問者

お礼

目からウロコ、、。 難しく考えすぎていました。 bin-chanさん どうもありがとうございます☆

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PL/SQLでの、集計→結合→集計の仕方

    いつもお世話になってます。 以前こちらで質問をさせていただいたのですが、 http://soudan1.biglobe.ne.jp/qa5076670.html さらに分からないことが出てきたので、また質問させていただきます 【テーブル1】 (年月日) (班) (回数) (秒) (種類) 20090401|aaa| 10| 100 A 20090401|aaa| 20| 200 A 20090501|bbb| 10| 150 B 20090501|bbb| 20| 100 B 20090401|ccc| 10| 100 C 20090401|ccc| 30| 250 C 20090401|ddd| 15| 200 A : : : まずこれを集計し、件数を追加して (班) (回数) (秒) (件) (種類) aaa| 30| 300| 2 A bbb| 30| 250| 2 B ccc| 40| 350| 2 C ddd| 15| 200| 1 A : : : : というようにまとめ、 【テーブル2】 (年月) (班) (円) 200904| aaa| 1000 200905| bbb| 1500 200904| ccc| 2000 200904| ddd| 1200 : : : というテーブルと結合して (年月) (班) (回数) (秒) (円×件) (種類) 200904| aaa| 30| 300| 2000 A 200905| bbb| 30| 250| 3000 B 200904| ccc| 40| 350| 4000 C 200904| ddd| 15| 200| 1200 A : : : : : とするのが前回までで ここから更に種類で集計をして (年月) (回数) (秒) (円×件) (種類) 200904 | 45| 500| 3200| A 200905 | 30| 250| 3000| B 200904 | 40| 350| 4000| C としたいのですが、 SELECT テーブル2.年月, テーブル1集計.種類, sum(テーブル1集計.回数), sum(テーブル1集計.秒数), sum(テーブル1集計.件数 * テーブル2.円) FROM (SELECT 年月日, 班, 種類, sum(回数) 回数, sum(秒数) 秒数, count(*) 件数 FROM テーブル1 GROUP BY 班,種類,年月日) テーブル1集計,テーブル2 WHERE テーブル1集計.班=テーブル2.班 GROUP BY 種類,テーブル2.年月; としたところ、最終的に出力したいテーブルの集計結果の (回数) (秒) (円×件)が正しいものより多くなってしまいました。 長くなって申し分かりません。 どこが間違っているのか、わかる方いらっしゃいましたら 教えていただけないでしょうか??

  • access2007 レコードの集計がしたい

    アクセス2007で出席簿を作成しています。 先頭のレコードに1日~31日があり、最後に合計欄。(対象の1カ月分の出席日数) フィールドには氏名を記載し、最後に合計欄。(その日の合計出席人数) これをチェックボックス形式にし、マウスのクリックで記入できるようにしています。 今までエクセルで行っていましたが、アクセスを導入したのをきっかけに作成に挑戦しています。 エクセルではsum関数で簡単に出来たのですが、アクセスではそうもいかないようで四苦八苦しています。 フィールドの集計は出来たのですが、レコードの集計はどの様にしたらできますか? 氏名 1日 2日 … 31日 計 Aさん □  □    □  25←この部分の合計 Bくん □  □    □  10← 同上 … 計  31 20   28  ←このレコードの集計は出来た。 イメージ的にこのような感じです。 また、将来的にこの合計の部分を別のテーブルに関連付けて行きたいと思っています。 まずは集計の所での方法を教えて下さい。

  • 集計クエリで

    Access2002を利用しています。 集計クエリで、たとえば、商品ごとの重量*料金の合計(送料)を取りたいとした時、 フィールドの欄で、送料:Sum([重量]+[料金])で、集計を演算とするのと 送料:[重量]*[送料]として、集計で合計とするのでは、どうちがうのですか? 例がおかしいとおもうのですが、フィールドで集計関数を入れて、集計欄で演算とするのと、 フィールドに式を入れて、集計で合計とするのとどちらが正しいのか、またこの両者は違うのかを教えてください。

  • ACCESS レポートでページごとに抽出して集計する方法

    ACCESS2002です。 あるDBを作りました。 レポートにて各ページに全体の集計金額の累計とページごとの集計金額の累計を表示したいです。特にページごとの集計はあるフィールド(AとBあるうちAだけ等)の分だけの金額を抽出して表示させたいです。 全体の集計金額の累計はSUM関数を使ってできましたが、条件つきのほうは、複雑すぎてどのようにしたらよいかわかりません。 教えてください。

  • アクセス レポート作成時に集計した数値の並び替えは?

    初心者の初歩的な質問ですが、 アクセスのレポートについて教えてください。 会社名  注文日   数 A社   H18.10.11  10件 B社   H18.10.20  10件 B社   H18.10.21   5件 C社   H18.10.21   5件 このようなデータをグループ化してレポートで出力しています。 10月分集計表で詳細データを非表示にして 会社名(グループヘッダー)集計(グループフッター)   A社            10件(SUMで集計)   B社            15件(SUMで集計)   C社             5件(SUMで集計) ここで質問ですが、集計した件数を昇順(又は降順)で並び替えることはできないのでしょうか? 素人考えで作ったので、うまくいきません。 よろしくお願いします。

  • SQL文でクロス集計をしたい

    アクセスでクロス集計のSQL文で作りたいと思っています。 このようなデータがあります 年月 支払先 数量 金額 201301 A 10 1000 201302 A 5 500 201302 B 20 2000 201301 C 10 3000 201303 C 15 1500 このデータを下記のように表示したいのですが、 分からなくて困っています。 支払先  データ   201301 201302 201303 A 数量     10      5 A 金額 1000 500 B 数量      20 B 金額 2000 C 数量     10 15 C 金額 3000 1500 合計 数量 20 25 15 合計 金額 4000 2500 1500 どのようにすれば実現出来ますか? 今は、 SELECT 支払先, "数量" AS データ, Sum(IIf([年月]='201301',[数量],0)) AS 201301, Sum(IIf([年月]='201302',[数量],0)) AS 201302, Sum(IIf([年月]='201303',[数量],0)) AS 201303, FROM T_データ GROUP BY 支払先; のクロス集計を 数量と金額、数量の合計と金額の合計でクロス集計をしたクエリを UNIONで実現しています。 出来れば数量と金額は1つのクエリで実現したいと思いますが方法があれば教えて頂きたい と思います。 どうぞ、よろしくお願い致します。

  • Access の集計について教えて下さい。

    Access の質問ばかりしてすみません。 今度は集計について教えて下さい。 レポートで集計したいのですが、SUMを使ったところパラメーターが出ました。 テキストボックス合計 ・A・Bがあります。 テキストボックスAには=合計-Bの式が入っています。 その下に列ごとの集計を出したいのでSumを使ったところ、Aの集計だけ出来ません。 どのようにすると集計出来ますか? 教えて下さい。 よろしくお願い致します。

  • IF関数で結果を出したセルの集計

    お世話になります。 出社時間  退社時間   昼休    勤務時間 A1に9:00 B1に18:00  C1に1:00  D1に=IF(B1-A1-C1=0,"",B1-A1-C1) と下まで続いてD10セルでSUM関数で集計しようとすると合計値が明らかにおかしくなります。こちらで調べたところ「""」があるとSUM関数は使えない?と回答を見つけたのですが具体的な解決法が見つからず質問させて頂きました。書式設定を時刻にしている為、0にして非表示ができず、何かよい方法があればご教授下さいませ。 よろしくお願い致します。

  • クロス集計のSQL

    accessのクエリにクロス集計があります 例えば person sex 血液型 ------ --- ------ 111 1 A 222 2 B 333 1 O 100 2 AB ・ ・ 集計↓ sex A B AB O 他 ---- - - - - - 1 15 45 20 10 5 2 20 30 21 12 2 数字は適当です こんな集計をするSQLを知りたいと思っています どこか、これに近いテーマでSQLを解説している サイトでもいいので、ご教授お願いします

    • ベストアンサー
    • MySQL
  • Access:クエリーにて集計後に文字列結合したい。

    Accessのクエリーでレコードのグループ化を行っている状態で、あるフィールドに対してだけ文字列の結合を行いたいのですが、集計部分をどのように指定すればよいかわからず困っています。 イメージとしては、SQLビューにて、グループ化されたレコードの合計が、  SUM([テーブル名].[フィールド名]) で求められる様に、 エクセルの文字列結合関数  CONCATENATE([テーブル名].[フィールド名]) が使いたい、という感じです、、 Accessにおける文字列結合は"&"を使うとありましたが、この場合どのように記述するべきでしょうか?

このQ&Aのポイント
  • PC0PCW1G(ThinkCentre M710s)を内蔵Diskのリカバリツールから出荷前に戻らない事象が発生しました。
  • リカバリーDVDの作成方法を教えてください。
  • 購入する場合はどのような方法があるのか教えてください。
回答を見る