• ベストアンサー

Accessで重複していないデータを表示する方法

テーブルAとBがあるとします。 Aには 111、222、333、444、555…… という全データが入っていて Bには 111、333、444…… というAの中の一部データが入っています。 そこで、クエリ等を使って、テーブルAには入っているけれど テーブルBには入っていないデータを抽出したいのですが、どうすれば良いでしょうか? 集合で表すとA∩( ̄B)なことです。 使用しているソフトはAccess2007です。

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

  • ベストアンサー
  • kurageon
  • ベストアンサー率38% (15/39)
回答No.2

No.1です。 テーブルの結合時に「Aのテーブル全てに対してBのテーブル」を結合するにしてください。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.5

ウィザードを使うのなら不一致クエリ >A∩( ̄B) これをそのまま書くのなら フィールドの抽出条件欄に Not in (select フィールド名 from B)

gasokoa
質問者

お礼

皆さま、素早い回答ありがとうございました。 外部結合→「Is Null」で無事表示されました。 後の方も詳しく書いていただきありがとうございます。 SQL記述、参考になります。

全文を見る
すると、全ての回答が全文表示されます。
noname#140971
noname#140971
回答No.4

既に回答が示されていますが・・・。 クエリを2段構えで作成されると容易く結果が得られると思います。 もちろん、<クエリ1>は破棄します。 <tab1> a 2 3 5 <tab2> b 2 4 5 6 >tab1には入っているけれどtab2には入っていないデータ--->3 左外部結合を作成するには、LEFT JOIN 操作を使用します。 左外部結合では、結合する 2 つのテーブルのうち 2 番目 (右側) のテーブルに対応するレコードがなくても、1 番目 (左側) のテーブルのレコードがすべて追加されます。 <クエリ1> SELECT tab1.a, tab2.b FROM tab1 LEFT JOIN tab2 ON tab1.a=tab2.b; [実行結果] a___b 2___2 3___ 5___5 <クエリ2> SELECT tab1.a FROM tab1 LEFT JOIN tab2 ON tab1.a=tab2.b WHERE tab2.b is null; [実行結果] a 3 Access2003です。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

選択クエリでAテーブルとBテーブルを追加、リレーションの結合プロパティを、「Aの全レコード・・・」にして、Bテーブル側のフィールドの抽出条件をIs Nullにしてはどうでしょう。

全文を見る
すると、全ての回答が全文表示されます。
  • kurageon
  • ベストアンサー率38% (15/39)
回答No.1

AとBのテーブルをクエリで結んでB側の条件に「Not Null」といれて実行してみてください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【Access】部分一致で不一致データを抽出したい

    クエリで2つのテーブルから、不一致データを抽出したいのですが、 完全一致だけでなく部分一致のデータも一致データとして取り除きたいです。 [テーブルA]フィールド1 000-0001 000-0001A 000-0002 000-0003 000-0004 [テーブルB]フィールド2 000-0001 000-0002 というようなデータで、結果は [結果] 000-0003 000-0004 というふうにしたいです。 (000-0001だけでなく000-0001Aというデータも取り除きたいのです。) Access初心者で、クエリウィザードを使用した重複データ抽出、不一致データ抽出、 およびクエリデザインを使用した重複データ抽出が何とかできる程度です。 初心者でも分かるようにご回答いただければ大変助かります。 よろしくお願いいたします。

  • アクセス2010 最新データを抽出する方法

    はじめまして。 アクセスを猛勉強中の初心者です。 過去記事を探しましたが、解決できませんでしたのでご教示お願いします。 やりたいことは、2つのテーブルからクエリを使って、最新のデータを抽出したいです。 ですが、その中に抽出したくないワードが存在します。 それ以外のワードで最新のデータを抽出したいです。 まず、下記のような2つのテーブルがあります。 ●テーブル1        ・ID(主キー)       ・日付 ・コメント ・顧客ID ●テーブル2 ・顧客ID(主キー) ・顧客名 ・住所 次にこのテーブルをクエリにしてデータを返すと、下記のようになります。 日付    コメント      顧客名    ・2/1     保留       Aさん ・2/1     発送       Bさん       ・2/1     相談       Cさん ・2/2    次回未定     Bさん ・2/3     発送       Aさん  ・2/4    次回未定     Dさん        今回抽出したいデータは、「発送」というワードをはぶいた最新のデータをとりたいということです。 なので、データとしては、 日付    コメント      顧客名    ・2/1     保留       Aさん ・2/1     相談       Cさん ・2/2    次回未定     Bさん ・2/4    次回未定     Dさん と、このように抽出したいのです。 最新データの抽出にはMax関数を使ってでき、いらないワードである「発送」はクエリのフィールドの抽出条件に『<>”発送”』と入力することで抽出を防ぐことができたのですが、これらの方法でMax関数を入れて最新データの抽出をしようとすると、全ての「発送」を除いたデータが抽出されるので、最新データに該当する顧客のデータが消えてしまいます。 なので、本来のコメントデータが分からない状態になります。 また、エクセル側でパラメータクエリを使って資料を作成し、アクセスに触ったことがない人たちが使用するので、アクセスを更新してといったことができません。 なので、更新クエリなどを使ってのやり方以外の方法はないでしょうか? 全くの初心者ですので、言葉足らずで説明が分かり辛くて申し訳ありません。 ご教示をお願いいたします。

  • アクセスの重複クエリ

    二つのテーブルやクエリで重複するデータを 抽出するのは「重複クエリ」でいいのでしょうか? それとも「重複クエリ」は一つのテーブルの中の重複するデータを 抽出するものなのでしょうか?

  • accessでデータ抽出?の方法

    アクセスの初心者です。 テーブル1 生徒  教科    点数    A    国語   90   A    算数   88 B    国語   89 B    算数   97 C    算数   79 テーブル2 生徒  教科 A   算数 B   国語 テーブル1のデータをもとに、テーブル2における点数を抽出するにはどのようにクエリを作成すればよいのでしょうか。どうぞよろしくお願いします。

  • クエリーで全部のデータを抽出する方法

    アクセスのクエリーでデータを抽出する時、具体的にはフォームでデータを入力し抽出するのですが、たとえばフォームのテキストボックスに数字を入れないとそのクエリーのフィールドは抽出がかからないようにしたいのです。(抽出フィールドが1つなら数字をいれなければクエリーのデータすべてが表示される) ----------------------------------- フィールド   A      B     c テーブル   テーブル1 テーブル1 テーブル1 抽出条件    []    [] または    ---------------------------------- 上はクエリーのデザインですがクエリーをひらくと抽出条件をきいてきますがA列は何も入力しないでB列では1と入力するとBの列に1の入ってるレコードを表示させたいのです。(もし空欄が無理ならAの列の時何かある文字を入力すると全部表示になる、でもいいです。) まわりくどくなりましたが、アクセス超入門者です。よろしくおねがいします。

  • ACCESSで重複するデータをまとめたいのですが

    ACCESS超初心者です。 ヘルプを見たのですが解決できなかったので、ご質問させてください。    フィールド        フィールド1 フィールド2 田中  A        田中 A       B 田中  B    →   鈴木 A 鈴木  A        佐藤 C 佐藤   C ACCESSで上記のようにデータをまとめたいのですが どのようなテーブル、クエリを組めばよいでしょうか? ご教示願います

  • 重複データについて

    accessで重複しているデータを抽出したいのですが、初心者のためよくわかりません。 1列目 2列目 A   2  A   3 B   4 C   5 C   5 C   5 というデータがあった場合、1列目は重複していて2列目は重複していないデータだけを抽出したい場合、どういうクエリにすればいいでしょうか? 重複クエリではこの場合、Cも出力されてしまうためどうしたらいいのか悩んでおります。 よろしくお願いいたします。

  • Accessで重複したデータを削除したい。

    AテーブルとBテーブルがあります。AテーブルとBテーブルのフィールド名は同じですがデータはそれぞれ違います。AテーブルとBテーブルにあるデータを一つにまとめたいのですが、その際に、 「AテーブルとBテーブルの間で重複したデータがあるのでそれを削除したい。」のですが、手順としてどのような方法がスマートなのでしょうか。 (1)BテーブルをAテーブルに追加クエリで追加する。 (2)Aテーブルで重複クエリを作成し、重複しているデータを表示する。 ・・・・とここまで考えたのですが重複しているデータをどのように削除していけばいいかわかりません・・・。根本的にやり方が間違っているのでしょうか。どなたか詳しい方、いい方法を教えてください。よろしくお願い致します。

  • アクセスでデータを足すには、また、引くには?

    アクセスを使用していて、テーブルAにあるデータに、テーブルBにあるデータを足したいと思っています。 それぞれデータは”名前”のようなフィールドで、ひとつにまとめたいのですがクエリーでの表現が分かりません。SQLビューのようなやり方でも構いませんので、是非お願い致します。 また、もう一つですが、テーブルAにあるデータに、テーブルBにあるデータを引きたい思っています。こちらも”名前”のようなフィールドで、同じレコードは省きたいと思っております。 よろしくお願い致します。

  • Accessで特定の重複データを抽出したい

    Access2003です。 重複クエリウィザードを使って、あるテーブルから画像(1)のようなデータを抽出するクエリを作りました。 抽出根拠は「口座番号」「受取人」「請求額」の一致です。 ここから更に「支払日が2016/01/10を含む重複データ」を抽出したいのですが、そのやり方がわかりません。 画像(2)の結果になるのが理想です。 お力添え宜しくお願いします。

このQ&Aのポイント
  • 複数の証券会社の特定口座での株式等の損益通算をすると、損失が少なくなってしまい、合計所得が増加する可能性があります。
  • 収入は年金のみのため、損失繰り越しをすることで合計所得を抑えることが賢明であるか迷っています。
  • また、確定申告に含める株式の配当や譲渡に関する金額によって、還付金額や市民税の増減に注意が必要です。
回答を見る

専門家に質問してみよう