• ベストアンサー

Accessクエリ

Accessのクエリでお教えください。 次のようなテーブルデータがあったとき 会員tbl 都道府県、区分、氏名 東京    1   山田 東京    1   田中 東京    2   佐藤 大阪    1   伊藤 福岡    2   鈴木 都道府県別区分別の件数を出したいのですがどのようなクエリにしたらできるのでしょうか。 都道府県、区分、件数 東京    1   2 東京    2   1 大阪    1   1 大阪    2   0 福岡    1   0 福岡    2   1 SELECT 会員tbl.都道府県, 会員tbl.区分, Count(会員tbl.氏名) AS 氏名のカウント FROM 会員tbl GROUP BY 会員tbl.都道府県, 会員tbl.区分; デザインビューで設定したものをSQLビューで表示したものです。 これですと次のようになってしまいます。 都道府県、区分、件数 東京    1   2 東京    2   1 大阪    1   1 福岡    2   1 0件も表示したいのです。

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

  • ベストアンサー
  • ihyou_P
  • ベストアンサー率35% (50/141)
回答No.1

考え方だけ簡単に。 まず、都道府県と区分だけを全て表示するクエリを作ります。  都道府県、区分  東京    1  東京    2  大阪    1  大阪    2  福岡    1  福岡    2 ↑この結果に、元テーブルの都道府県と区分を結合させればOK。 あ、結合だけだと該当データがないところは空欄になってしまうので、それを0に変換させて返さないと駄目ですけど。

Hirorin_20
質問者

お礼

ありがとうございます。 理解できました。

その他の回答 (3)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.4

都道府県、区分ですべて なのか 件数が1つでもあればその都道府県、区分はすべて なのか 件数のない千葉とかまで必要かどうか じゃなくて質問からすると後者では?、件数の発生しないものまで表示はよくある話です。 区分が3まであっても考え方が理解できたら対応可能かと思います。

Hirorin_20
質問者

お礼

重ねての回答ありがとうございます。 はい、後者です。 質問で例示したのは必要十分な範囲で簡略化したものです。 区分がいくつでも考え方が理解できたので対応できます。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

全くネタが無いものを表示させようと することに無理があります。 そもそも「区分」が何かは質問者しか 分かりません。これが各県で1律に 1と2しかないとかなら、方法は考え られますが・・・ こういった、質問者しか知らない事象を 説明なしに「何とかしてくれ」では誰も 答えられませんよ。 とりあえず、都道府県マスタがあるとか、 区分マスタがあるとか、府県別に区分の 数も異なるか等の情報を開示して下さい。

Hirorin_20
質問者

お礼

ご回答ありがとうございます。 一般社会では「全くネタが無いものを表示させる」という要望はかなりあります。皆さんが要望していることはなんとか対応しようとしているもので、さずがExcelさんは対応していたようです。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.2

都道府県と区分でどれだけの種類があるか、をクエリで求める、会員クエリA、とする。 今ある件数のクエリと会員クエリAを結合し会員クエリAにあるものすべて表示、とする。 会員クエリAにしかないものは件数欄には何もなし、なので判定して0を埋める。 NO1さんの考えで良いです。

Hirorin_20
質問者

お礼

ありがとうございます。 出来ました。

関連するQ&A