小計・合計の表示、SQLで小細工の嵐(笑)小計・合計の表示、SQLで小細工の嵐(笑)本文(発行内容)<小計・合計の表示、SQLで小細工の嵐(笑)>こんにちは、三流プログラマーのKen3です。表示プログラムにチャレンジしてます。^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^http://www.ken3.org/cgi-bin/test/test072-4.aspで、1レコード単位で読み込み、自分で集計処理しました。T_月別売上.商品CDT_商品(マスター)とT_月別売上(明細テーブル)をつなげて商品名を表示しました。T_月別売上と、演算フィールドを使用して、SQL内で横系を計算させました。ALL演算子を使って、下記の表まで作りました。商品名と上期計の出力にチャレンジしてみます。2.商品名の表示*/商品名は、マスターとつなげて、もってくればいいんだっけ。T_月別売上.商品CDT_商品(マスター)とT_月別売上(明細テーブル)をつなげて商品名を取得しますか。下の集計用のSQL文と列数が合わないか。つのテーブルまたはクエリの列数が一致しません。予想通り、エラーが出ると、ある意味気持ちいいね(ホントか?)ダミーで商品名を”小計”としてみますか。列の数を合わせてみました。~~~~~~~~~~~~~~~~よし、これでOKかなぁ。あっ、マスターにデータが無い(エラーデータの)C1,C2は表示されなくていいんだけど、合計が表示されている・・・う〜ん、グループ化は無条件にやっているからなぁ。↑Cが小計されている、エラーのイメージ。Group化している表も、マスターとつなげてOKのデータのみ集計しないとマズイみたいですね。SQLの表を変更します。T_月別売上.商品CDと、修正してみました。OKです、やっとマスターに無いグループCが消えました。http://www.ken3.org/cgi-bin/test/test076-1.aspで、ここまでのテストが出来ます。SQL文の作成は長いけど、下記のように作成しました。ALL演算子をはさむ。3.上期計を追加する*/さてと、商品名を表示することが出来ました。ここまでのSQLに上期計を追加してみたいと思います。T_月別売上と、演算フィールドを使用して、SQL内で横系(上期、下期)を計算させました。T_月別売上.商品CDとなります。http://www.ken3.org/cgi-bin/test/test076-2.aspで、テスト実行すると、なんとか集計されました。ALL演算子をはさむ。4.総合計を+するタメさらにUNION演算子の使用*/やれやれ・・・やっと完成したよ・・・なんて一安心してたら、総合計が無いことに気が付く。商品コードをZZZZZで集計してみますか。T_月別売上.商品CDと、SQL文を作成しました。http://www.ken3.org/cgi-bin/test/test076-3.aspで、テストすると、おっ、それらしく表示されましたね。↑総合計が表示されたイメージです。ALLって、2つだけじゃなくて、3つもできましたね。列数とタイプがあっていれば、いろいろと使えるのかも。長いソースを下記に載せます。T_月別売上.商品CD</pre>と、SQL文を作成してみた。ALL演算子をはさむ。ALL演算子をはさむ。'お行儀よくオブジェクトも開放しましょう%><hr>終了です。総合計を計算(縦計)するSQL文を+してみました。http://www.ken3.org/cgi-bin/test/test076-3.aspで、テストできます。考える・・・ここまで大きなSQL文を作って、いろいろな小細工をしてみました。なんか、出来なくは無かったけど、はたして、これが正解なのか???大いに疑問が残りましたね。小計の計算や総合計は、自分で上から下に流れるループの中で計算してもいいのかなぁそんな感じもするけど。SQLなんか複雑なような、わかってしまえば、それなりに使えるような気もするし。みなさんは、ケースによって使い分けてくださいね。複雑なSQLは作らない、自分でやるんだ(RDBなんて知らないよ)なんて、両極端にならないで、バランス良く使ってください。読者の心の声:バランスいいサンプル最後に紹介しろ(作れよコラ!!)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~えっ、かんべんしてよ(本音はチョット疲れました(笑))SQL系は深いなぁと思いつつ、私の実力もまだまだと感じた小計処理でした。何かの参考となれば幸いです。ASP、VBScript勉強中の三流プログラマーのKen3でした。ページフッターここまで、読んでいただきどうもです。三流君へメッセージを送る。下記のフォームからメッセージを送ることができます。気軽に書いてください(感想や質問・要望・苦情はHPで記事に載せることがあります。↓を選択してください。基本はデータの受け取りかなぁ。・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。テキストを読み出した。・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽くVBScriptでFormat関数が無いなど、微妙にVBAと違うけど[VBScript関数関係の説明]・・・少し、処理を書いてみた。[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。何かの参考となれば幸いです。バックナンバー目次]広告:。