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



 menu

45.全体の平均売上金額を上回る人だけ抽出する。

現在の平均売上金額を出し、その金額を上回っているネコだけ出そうと思います。

全体の平均売上金額は、その都度出してみないとわかりません。
そこで、まず売上金額の平均額を算出し、その答えを抽出条件にします。
いろいろな方法が考えられますが、ここではサブクエリ(副問い合わせ)という方法をご紹介します。
サブクエリとは、抽出条件欄にSQL文を直接書き、そのSQLの実行結果を抽出条件にしてしまおう、という特殊なクエリです。

上の図の、紫色の枠の中にSQL文を直接書きます。
売上の平均を求めるための「SQL文」を書かなくちゃならないんですけどね・・・。

下準備として、こんなクエリを別にひとつ作ってみました。このクエリを直接使うわけじゃないので、保存しなくてオッケー。
どういうふうにサブクエリ部分を作ればいいのかを確認するための、おためしクエリです。
別のページで似たようなクエリの解説をしていますので、こちらも参考にしてください。40.

結果を見てみるとこんな感じ・・・。この値を、抽出条件にしようというわけなんです。

じゃあ、このクエリは、どういうSQL文なのかしら・・・???見てみましょう。

ふむ・・・こんな↓感じか・・・。

これは、クエリをそのままSQL文に置き換えただけですんで、余分な記述が多いので・・・。
シンプルにしてみました。↓これだけでオッケーデス。

ここまで確認できたら、お試しクエリは保存せずに閉じちゃって、本題のクエリのほうに戻りましょう。

これを、[売上]の抽出条件欄にそのまま書きます(半角のカッコで囲むこと)
これで、このSQL文で抽出された値(つまり全体の平均売上額)が、[売上]の抽出条件になります。
今回は平均ぴったりの人ではなくて、平均を超えた人を出したいので、↓こうします。

結果はこんな感じです↓

これなら、いちいち抽出条件欄の値を書き換えなくても、このクエリひとつあれば常に「平均を上回る人(ネコか)」だけ抽出できるようになります。



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