• ベストアンサー

アクセス2010 N:Nのマッチングクエリ

アクセス初心者です。 テーブルAとテーブルBのマッチングで両テーブルでマッチしないデータも 表示させたい場合、どのようなクエリにすればよろしいですか? テーブルA全件、テーブルB全件 → クエリ表示(マッチするデータは1件で表示) 例 ■テーブルA CD 数 010 1 020 5 030 3 ■テーブルB CD 数 020 7 030 6 040 2 □クエリ CD 数 010 1 020 12 030 9 040 2 よろしくお願いします。

  • kmufo
  • お礼率87% (7/8)

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

  • ベストアンサー
回答No.1

テーブルAとテーブルBをユニオンクエリでつなげます。 SELECT * FROM テーブルA UNION ALL SELECT * FROM テーブルB; このクエリより集計クエリを作成して、 CD をグループ化 数 を合計 最初のユニオンクエリを、Q1 として SELECT CD, Sum(Q1.数) AS 数 FROM Q1 GROUP BY CD; サブクエリをつかえば一つのクエリにできます。 SELECT CD, Sum(Q1.数) AS 数 FROM (SELECT * FROM テーブルA UNION ALL SELECT * FROM テーブルB) AS Q1 GROUP BY CD;

kmufo
質問者

お礼

ありがとうございます!! 大変助かりました。

関連するQ&A

  • アクセスの削除クエリーについて

    アクセス2000の削除クエリーを実行すると、「削除できません」の表示がでます。テーブルを2つ(AとB)追加して、顧客CDでリレーションを組みます。テーブルAからはアスタリスクマークをドラッグしてますので、FROMがでます。テーブルBの顧客CDをドラッグするとWHEREがでます。つまり、テーブルBにある顧客CDを全部テーブルAから削除したいのですが、データウィンドウは表示されますが、削除を実行すると、「削除できません」の表示がでます。アクセス2.0では可能だったのですが、アクセス2000ではなぜできないのでしょうか??

  • ACCESSのクエリで表示されるデータについて

    クエリで表示されるデータの範囲について教えてください。 <状況例> 例えばなのですが、取引先会社の管理データベースとして「テーブルA」と「テーブルB」があったとします。 「テーブルA]のフィールドは「会社ID」、「会社名」、「住所」とします。 「テーブルB]のフィールドは「連絡先ID」、「会社ID」、「担当者名」とします。 そして、「会社ID」をリレーションシップで繋いで、クエリで「テーブルA」「テーブルB」の全てのフィールドを表示したとします。 この時、「テーブルA」にデータが5つあり、「テーブルB」にはデータが2つしかなく、結果リレーションシップを通じて対をなすデータが2つしかない場合には、クエリでは2つしかデータが表示されないと思います。 <質問> クエリではリレーションシップで対をなさないデータは無効となるようですが、対をなさないデータも全てクエリで表示する方法はないのでしょうか。 上記例でいうと、「テーブルA」のデータ5件全てについて表示させたいのですが。もちろん、「テーブルA」のデータ中対をなしていないものについては、「テーブルB」のフィールド内容については「空白」での表示となりますが。

  • アクセス・選択クエリについて

    アクセス・選択クエリについて こんにちは。現在、選択クエリについて悩んでおります。 テーブルAとテーブルBからそれぞれ3つのフィールドを選び、選択クエリを作成。しかし、出来上がったクエリのデータシートには一切データが表示されていません。ならばと思い、テーブルAからだけ3つのフィールドを選びクエリを表示させると、きちんと表示します。テーブルA,テーブルBには当然主キーが設定されていますが、その事と関係するのでしょうか?ご存知の方、どうか教えてください。宜しくお願い致します。

  • Accessのクエリ実行について

    すみません。ご存知でしたら、教えてください。 まず一点、基本(?)を確認させてください。 下記のように数個のテーブルとそれらを使用した数個のクエリがあったとします。 下記の場合に、もしどれかのテーブルを更新したとします。 その場合、アクセスを立ち上げて、クエリ3を実行するだけで、結果には反映されているのでしょうか?それとも、アクセスを立ち上げて、 クエリ1を実行し閉じ、クエリ2を実行し閉じ、最後にクエリ3を実行しないと、反映されていないのでしょうか? --------------------------------------------------------- テーブルリンクA 、テーブルリンクB、テーブルリンクC、テーブルリンクD ↓↓ テーブルAとテーブルBでクエリ1(マッチング)を作成 テーブルCとテーブルDでクエリ2(マッチング)を作成 ↓↓ クエリ1とクエリ2でクエリ3(マッチング)を作成 ------------------------------------------------- 続いて、もし上記でいちいち途中のクエリを実行しないと、 最後のクエリに反映されない場合、すべてをACCESSを立ち上げたと同時に自動実行し、自動で最後のクエリ(この場合、クエリ3)をエクスポートしたいと考えています。可能でしょうか? 素人な質問ですみません。 何卒よろしくお願いいたします。

  • Accessクエリにて

    お世話になります。 下記テーブルがあります。 ■型番テーブル ID 型番 数量 1  A   1 2  B   1 3  C   1 4  D   1 5  E   1 ■発売日テーブル ID 型番 発売日    削除 1  A   2010/01/01 False 2  B   2010/05/01 False 3  C   2011/03/01 False 4  D   2011/05/01 True 5  E   2011/06/01 False ■上記テーブルを用いたクエリ ・型番テーブルの「型番」と発売日テーブルの「型番」を  紐付ける ・表示したいフィールドは「型番」「発売日」。 ・表示したいのは型番テーブル全件(5レコード)。 ・発売日テーブルの削除がTrueの場合、発売日を空白とする。 *************** ここで質問です。 型番テーブルの全件を表示したいところですが、条件として発売日テーブルの 削除がFalseである為、型番Dが表示されません。 発売日テーブルであらかじめ削除がFalseのみでクエリを作成し、そのクエリと 型番テーブルの「型番」で紐付ければ全件表示されることは分かっており ますが、1つのクエリで表示する方法をご教授頂ければと思います。 宜しくお願い致します。

  • アクセスのクエリーについて

     アクセス初心者です。  例えばテーブル1に以下のようなデータがあります。  A     鈴木  佐藤  もう1つテーブル2があります  B  1  2 そこでクエリーを作成し テーブル1とテーブル2の列を1つにまとめます。この時テーブル1とテーブル2に関連性はなく、リレーションシップはつけません。そうすると A  B  鈴木 1 鈴木 2 佐藤 1 佐藤 2 となります。 イメージ的に A  B 鈴木 1 佐藤 2 というように単純に列をつけたいのです。エクセルなら簡単に出来ますがアクセスでは出来ないでしょうか。

  • Accessのクエリーについて教えてください。

    Access2000を使用しています。 不慣れなので、どういう設定をしたらいいのか悩んでおります。こんなことできますか? 1.テーブルが2つ存在しており、クエリーで1つ目のテーブルから項目Aと項目B、2つ目のテーブルから項目Bの3つを表示しています。 (2つ目のテーブルにも項目Aはあります。) 2.表示されたデータの中で、項目Bともう1つの項目Bの値が異なっているものだけを表示したいと思うのですが、どのように設定したらいいのでしょうか?

  • アクセスのマッチングで空白がある場合の処理方法

    アクセスのクエリーで質問です。 例)1)顧客マスターテーブルA   2)顧客マスターテーブルB 二つのテーブルがあって、それぞれの電話番号でマッチングをかけようとした場合。 AとB両方に登録している顧客を抽出しようとしています。 ただ、どちらの、電話番号フィールドには空白があります。 その場合標準でマッチングをかけると、空白は空白と認識してしまい、すごい数の結果が現れてしまいます。 で、電話番号に空白があれば、マッチング処理を無視するといった処理をしたいのですが、 どのようにすればよいでしょうか。 すみません基本的な質問で。 アクセス苦手なので、一旦エクセルにエキスポートして、空白に99999とかを入れてインポートしたりしています。 もっとよい、アクセスでのやり方があれば、ご教示いただければ嬉しいです。 よろしくお願いいたします。   

  • Accessのクエリ

    Access2000です。 お願いします。 テーブルが以下のようになっています。 (例)  種類   個数 りんごA  1 りんごB  2 みかん   1 ばなな   1 クエリで抽出するときにりんごはA,Bの区別なくまとめて、 個数を足して3と表示させたいのです。 どのようにしたら良いでしょうか? どうぞよろしくお願い致します。

  • ACCESS2003クエリの結合した表示形式が

    ACCESS2003でクエリを作成しました。各テーブルのフィールドを結合したのですが 表示形式が思ったようになりませんでした。 【Aテーブル】 フィールド:学部NO データ型:数値型 書式:00 【Bテーブル】 フィールド:学科NO データ型:数値型 書式:00 【ABクエリ】 フィールド:学籍NO:[Aテーブル]![学部NO]&[Bテーブル]![学科NO] 【ABクエリ】の結果が数字が4桁表示されません。 (例) 0101 と表示してほしいのですが、   11  と表示されます。 各テーブルでは、01と表示されるのですが・・・。 宜しくお願いします。

専門家に質問してみよう