クロス集計クエリの結果をテーブルに保存する方法

このQ&Aのポイント
  • クロス集計クエリの結果を一時テーブルに保存する方法がわかりません。
  • クロス集計クエリをテーブル作成クエリにしてもクロス集計が解除されてしまいます。
  • クエリを2つ作成し2段階でテーブルを作成する必要があります。
回答を見る
  • ベストアンサー

クロス集計クエリの結果を一時テーブルに保存する 

タイトルのような操作を求め下記のようなやり方を発見したのですが、なぜこのような2種類のクエリを作成しなければならないのかがわかりません。 2つのクエリの意味・役割をご存知の方がいらっしゃったら教えて下さい。 宜しくお願いします。 Q あるテーブルからクロス集計クエリを作成し、そのままそのクエリをテーブル作成クエリにしたところ、クロス集計が解除されてしまいます。クロス集計の結果をテーブルに保存することはできないのでしょうか A クロス集計クエリを作成して、そのままそのクエリをテーブル作成クエリにすることはできないようです。 その場合は、クエリを2つ作成し2段階でテーブルを作成するようにします。 1つめのクエリではテーブルなどを基にしてクロス集計を行います。 2つめのクエリでは1つめのクエリを「テーブルの表示」一覧から「クエリ」タブに切り替えて選択してテーブル作成クエリとします。 参照:http://www.nbcom.co.jp/PC-Support/FAQ/acc/ht/acc092004ht001.shtml

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

  • ベストアンサー
  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.1

下記のテーブルはマイクロソフトのサンプルDB「NorthWindow」をつかっています。 理由はSQL でクエリの内容を確認すればわかります。 クエリのデザインを開き たとえば「売上テーブル」を新たなテーブル(QTBL)に作成するためにテーブル作成クエリをデザインしたとしましょう。 SQLの結果は   SELECT 売上テーブル.* INTO QTBL FROM 売上テーブル; になります。 見てのとおり テーブルを作成するばあいは FROM のテーブルがすでに存在するテーブルあるいはクエリでないとエラーになります。 次にピボットテーブルですが TRANSFORM Sum(売上テーブル.販売コード) AS 販売コードの合計 SELECT 売上テーブル.支店, 売上テーブル.販売日, 売上テーブル.個数, Sum(売上テーブル.販売コード) AS [合計 販売コード] FROM 売上テーブル GROUP BY 売上テーブル.支店, 売上テーブル.販売日, 売上テーブル.個数 PIVOT 売上テーブル.商品; のような SQL が作成されます 。 テーブル作成クエリとピボット作成のクエリでは まったく別物なのです。 二つの処理に分けないと テーブル作成クエリはできません。

hatena_orz
質問者

お礼

お礼が遅くなってしまい申し訳ございません。当時SQLを理解していなかった為、いまいち理解できていませんでしたが、今ははっきりと判ります。とても丁寧なご説明ありがとうございます。

関連するQ&A

  • アクセス クロス集計クエリ→テーブル作成クエリ

    クロス集計クエリは、 そのままテーブル作成クエリを使って クロス集計クエリのままテーブルにすることはできないのでしょうか? クロス集計クエリの時は、行見出し・列見出しがあるのに、 そのままテーブルにはなりません。

  • クロス集計クエリの結果をテーブルにしたい

    こんにちは。ACCESS 97、ほぼ初心者です。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1445032 こちら様の質問の、便乗質問です(質問者様とは関係ありません)。 品番,倉庫,数量 4944,F,190 4960,A,25 4960,B,6 4960,C,72 4960,D,20 4960,E,50 4960,F,3 4962,C,26 4962,E,4 4963,C,5 4964,A,4 4964,C,148 4964,E,42 4965,A,2 4965,C,5 4965,E,1 4966,C,4 4966,E,1 こんなデータからテーブルを作成し、クロス集計クエリで 品番 A B C D E F 4944 190 4960 25 6 72 20 50 3 4962 26 4 4963 5 4964 4 148 42 4965 2 5 1 4966 4 1 という結果を出し、上の質問の方法でテーブル作成すると、元データと同じテーブルが作成されます。 A、B、C、D、E、Fを列見出しにしたテーブルを作成したいのですが、教えてください。

  • クロス集計クエリとピボットテーブルの違い

    アクセスのクロス集計クエリとピボットテーブルの違いがよくわからないのですが、 どういうことを基準に使い分ければいいのでしょうか? デザインでしょうか?

  • Access 2003、2007 なぜクロス集計クエリだけクエリパラメータを設定しないといけないのか?

    Accessで、なぜクロス集計クエリだけクエリパラメータを設定しないといけないのでしょうか? 普通の選択クエリなどでパラメータクエリを作る時は抽出条件に[ ]を記入するだけで作成できますが、クロス集計クエリでパラメータクエリを作ろうとすれば、クエリパラメータでダイアログボックスの文字列とデータ型を指定しなければいけません。 これはなぜなのでしょうか?

  • ACCESSのクロス集計クエリについて

    ACCESS2000のクロス集計クエリで超初歩的な質問なのですが、、 こんなテーブルがあります。 メーカー  商品名 A社    テレビ B社    テレビ A社    ラジオ A社    テレビ これをACCESSのクロス集計クエリでこんな感じにしたいです。 メーカー  商品名   集計 A社    テレビ   2 A社    ラジオ   1 B社    テレビ   1 エクセルでは、行見出しに「メーカー」と「商品名」を入れて値に「メーカー」か「商品名」どちらかを入れれば希望通りの結果になるのですが、ACCESSのクロス集計では、列見出しに必ず入れないとエラーが出るようです。入れなくても良い方法かもっといい方法がありましたらご教授ください。   

  • クロス集計のスピードアップ

    Accessで数十万件のデータのクロス集計をおこなおうと思っているのですが1日程度時間がかかってしまいます。以下のプロセスでスピードアップが図れそうな事項がございましたらご教授ください。 -------------------------------------------- (1)テーブル「A」とテーブル「B」(両方とも数十万件)を「A」のIDをキーとして「B」のIDと紐付けし、テーブル「A」の全項目とテーブル「B」のある1項目をクエリを用いて出力します。 (2)(1)のクエリをテーブルに変換する。(←ここで非常に時間がかかってしまいます。) (3)(2)についてクロス集計を行う。 -------------------------------------------- (2)でテーブルに変換せずにクロス集計を行っても非常に時間がかかってしまいます。素人質問で大変恐縮ですが何とぞご教授ください。 よろしくお願いいたします。

  • クロス集計 エクセル

    アクセスにはクエリにクロス集計がありますが エクセルにもクロス集計と言う機能があるのでしょうか? エクセル2010を持っています。 ピボットテーブルの事を クロス集計と呼ぶのでしょうか?

  • Access2003 クロス集計クエリでの合計

    ☆以下のようなテーブルで、フィールド[ID]~[C]があり、文字および数字のデータが混在しています。   ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ =========================================== (テーブル(1)) [ID]  [A]      [B]    [C]     1    111     英語    10    2    222     英語    20    3    333     数学    30    4    111     国語    40   5    222     数学    50    6    333     国語    60    7    222     国語    70   8    333     英語    80     9    111     数学    90     =========================================== [課題] クロス集計クエリを作成する (1) フィールド[A]を行見出しに設定、    フィールド[B]を列見出しに設定、    フィールド[C]を集計する項目に設定する。   (2) フィールド[C]の値を列ごとに平均を計算し、    行ごとに合計を計算する。   ※ 列と行で、それぞれ集計した値を表示する   ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ =========================================== [クロス集計結果]     合計  英語  国語  数学     111  140   10    40    90        222  140   20    70    50     333  170   80    60    30  --------------- 平均  150   36     56   56 ===========================================   ↑  ↑  ↑  ↑  ↑  ↑  ↑  ↑    上記のようなクロス集計クエリの結果を表示させたいのですが、 どうすればよろしいでしょうか? また、クエリだけでは出来ない場合は、SQLで教えていただければ幸いでございます。 お手数お掛けしますが、何とぞ宜しくお願い致します。

  • MS-Accessのクロス集計クエリとピボットテーブルについて

    MS-Accessでの クロス集計クエリとピボットテーブルについて教えて下さい。 1.両者の違い と その使い分け がよく理解できない 2・印刷プレビューでうまく表示されない(レイアウト) 3.Web形式で出力したいのですが 以上ですが、よろしくお願いします。

  • クロス集計クエリ

    こんなデータテーブルがあります、選択クエリ後、クロス集計クエリで (結果)のような表示をしたい、可能でしょうか?ご教授下さい A社  テレビ   A-TV-1 A社  冷蔵庫   A-R-1 A社  エアコン  A-R-1 B社  テレビ   B-TV-2 B社  エアコン  B-BB-1 B社  冷蔵庫   E-E1-1-3   クロス集計クエリ結果       テレビ    冷蔵庫      エアコン A社   A-TV-1    A-R-1      A-R-1 B社   B-TV-2    E-E1-1-3    B-BB-1

専門家に質問してみよう