電子書籍の厳選無料作品が豊富!

accessのクエリについて教えていただきたいです。

売上実績、店舗一覧、分類一覧

上記3つのデータを使って、
各分類の店舗ごとの売上数値を出したいです。

その際に、売上があった店舗だけでなく、
売上がなかった店舗も出したいのですがうまくいきません。
お知恵をお借りできないでしょうか。

各テーブルの内容は下記の通りです。

・売上実績(店名、商品、売上金額)
・店舗一覧(店名、エリア)
・分類一覧(分類名、商品)

まず、
選択クエリで 売上実績と分類一覧を選択し、
各店舗の分類ごとの売上実績を出しました。(クエリ1)

この状態では売上実績がある店舗のみしか抽出されないので
選択クエリで上記のクエリ1と店舗一覧を選択し、
店舗一覧にある店舗全レコードとクエリ1の店名で
外部結合をしました(クエリ2)

これで出てきたのが、
各店舗の売上実績の下にどの分類も売っていない店舗一覧がくっついたものでした。
この状態でエクスポートすると、
分類Aの売上がある店舗、分類Bの売上がある店舗、何も売っていない店舗、のみになってしまい、
分類Aは売っていないが分類Bは売っていない店舗というのが表示されず困っております。
店舗が100店舗あったら、分類Aは店舗分の100行ある状態にしたいのです。
(分類Aに実績があるないにかかわらず全店表示される状態)

エクセルで集計表を用意してINDEX関数とMATCH関数を使って当て込んでいくことはできたのですが、
データ量が大きすぎてPCが止まってしまうため、
できればaccessで出したいと考えているのですが、
どなたかお知恵を拝借いただけないでしょうか。

よろしくお願い致します。

質問者からの補足コメント

  • 早速試させてていただき、
    店舗一覧と分類一覧をクエリ1とし、
    クエリ1と実績を外部結合してみたところ
    各店舗の売上数値は出るのですが、表示のされ方がおかしくなってしまいました。

    例えば、5店舗あって、6分類あったとしたら、
    1つの店舗ごとに6種類の分類の売上が表示されるところが、
    1つの店舗で6種類の分類が6回表示されてしまいました。

    表示されているどの数字が正しいものなのか分からず、
    自分でも教えていただいたクロス結合を使いながら
    色々試してはいるのですが、
    もし、何かしら原因等お分かりでしたら教えていただけないでしょうか。

    よろしくお願い致します。

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/03/26 11:25

A 回答 (2件)

クエリ1のみを表示したら、どうなっていますか?


その時点で同じ(店舗、分類)が沢山出ているなら、
分類一覧の定義が変です。

クエリ1の[固有の値]プロパティで[はい]を選択するとよろしいかと。
    • good
    • 0

店舗一覧と分類一覧でクロス結合(結合線で繋がない)し(店名、分類名)のクエリを作り、これをクエリ1とする。



クエリ1と売上実績を外部結合する。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます!!
今、手元にaccessがないので
明日の朝、試させていただきます!

お礼日時:2020/03/25 20:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!