<HOME  <お願い事項  <Access2000 TOP   <Access97 TOP   <サイト内検索
 MS-Access2002チョ〜入門部屋>クエリを極める
  



 menu

58. 合計と明細の混在

そんなことできるわけないでしょっ。
ふつうはできませんよ。
だって、合計と明細って、情報の単位が違うでしょう。テーブルとかクエリのデータシートビューで並べるわけにいかないですよ。
こういうのは、グループ化したレポートを作りましょう。レポート作るべきです。
そのほうが絶対わかりやすいし簡単です。
どうしても、どうしても、ひとつの「データシートビュー」の中で「一番下の行に合計行を表示させたい」と思ったら・・・。悪知恵で乗り切るしかありませんね。くどいですが、こういうことはふつうはできないので、これからお話する方法は決して「明細の一番下に合計行を表示させる機能」ではないのです。

UNIONを使って、[社員テーブル]の中のレコード全部をあらわすSQLと、売上の合計だけを表示させるSQLをくっつけて、うまいこと悪知恵使って並べ替えてみましょう。
前者のSQL文はこんな感じ。これで十分です。


このテーブルには6つのフィールドがあります。結果は列が6列あるってことですね。
ということは、後者のほうのSQLも、6列にしないといけないんです。


なので・・・・。

これなら、1行だけ売上の合計を出す行が表示されますし、ダミーの列が5列分出ますので、列の数はさっきのクエリの結果と同じになります。ところどころ_(アンダーバー)なんか入れたりしてるところが、ダミーの列です。

で、この二つを、UNIONという単語で結んで、ひとつのSQL文にします。
UNIONの作り方については、57.を参考にしてくださいね。

ギャハハ。なんかそれっぽいのができたかも。

こういうの作るのは、悪知恵が働かないとなりません。
決して「正統派」ではなく、イレギュラなパターンということで・・・。
でもこういうの思いつくのって、ある意味楽しくもありますね。
SQLって、奥が深いです。


【参考:SQL文で書くと?】