【Access2003】ふたつのテーブルで共通するもの”以外”を抽出する

このQ&Aのポイント
  • 1万件くらいの「商品コード一覧」テーブルがあります。そのなかから、特定の商品コードを除外したいです。
  • 除外したい商品コードが増えてきたため、テーブル化して「商品コード一覧」と「除外対象商品コード一覧」テーブルで一致しないものを抽出するクエリを作成したいです。
  • 【Access2003】でふたつのテーブルを比較し、一致しないものを抽出する方法がわかりません。探し方が下手で見つかりませんでした。
回答を見る
  • ベストアンサー

【Access2003】ふたつのテーブルで共通するもの”以外”を抽出する

1万件くらいの「商品コード一覧」テーブルがあります。 そのなかから、特定の商品コードを除外したいです。 今までは「商品コード」のフィールドの抽出条件に <>"AAAA" And <>"BBBB"And <>・・・ と入力してきたのですが、 除外したい商品コードがかなり増えてきたので、 これをテーブル化して、 「商品コード一覧」テーブルと「除外対象商品コード一覧」テーブルで 一致しないものを抽出するようなクエリを作成したいと思うのですが・・・ そのようなことは可能でしょうか? すでに出た質問かもしれないのですが、 探し方が下手で見つかりませんでした。 よろしくお願いいたします!

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

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

不一致クエリ で出来ます。

masunona
質問者

お礼

あぁっ! めったに使わないのですっかり忘れていました。。。 ありがとうございましたっ!

関連するQ&A

  • テーブルのデータを利用して抽出したい

    テーブル内のキーワードに合致するデータを抽出するクエリを作成したいです。 テーブル1には"商品名"という項目があるリストがある。 テーブル2には"除外キーワード"のみのリスト。 テーブル2の"除外キーワード"を使用してテーブル1の商品名に該当するデータを抽出。 部分一致での抽出を希望します。 除外キーワードは徐々に増えていきます。

  • Access 抽出クエリーについての条件

    先の投稿に重複しますが、 それぞれ異なるテーブルについて、 クエリーで、、 Between #5:00# And #19:00# Between 500 And 1900 上記の方法等で同じ数値ではなく、 期間に幅をもたせて一致としそれぞれの 一致データを抽出するクエリーは つくれますか? もちろん抽出対象のテーブル、列はそれぞれ同じ書式です。 > between関数を使って、 フィールドのデータ型が日付/時刻型の場合 抽出条件欄に、 > 5:00から19:00を抽出したい、 Between #5:00# And #19:00# > 5:00から25:00を抽出したい、 Between #5:00# And #23:59# OR Between #0:00# And #1:00# Access の日付/時刻型では、25:00 というような表現はできないので、上記のように分割することになります。 > また上記がテキストだった場合も、 > 500から1900を抽出したい フィールドがテキスト型の場合、テキスト比較になり数値比較とは異なる抽出結果になるので、 フィールドに Val([テキスト型フィールド]) と式を設定して数値型に変換します。このの抽出条件に、 Between 500 And 1900 と設定します。 通報する

  • アクセス 抽出

    パラメータクエリで同じフィールド内の項目を複数抽出したいです 今までは [ああああ] or [bbbb] と抽出条件のところに書けばで来たのですが、できなくなって しまいました、ああああ または bbbbどちらか一方なら抽出できます いろいろ探しましたが解決できません よろしくお願い致します。

  • Access 別テーブルにある値を抽出条件にしたい

    OS:WindowsXP SP3 使用ソフト: Microsoft Access2003 選択クエリにて、別テーブルのフィールドにある値すべてを抽出条件にできますか? ホームページに来て頂いた方の検索キーワードを集計しております。 テーブル1には『検索キーワード履歴』フィールドがあり、お客様が使用した検索キーワードが入力されています。(約2万件) テーブル2には『除外キーワード候補』フィールドがあり、不要なキーワードが入力されています。(約10件) クエリにて、『検索キーワード履歴』から『除外キーワード候補』の値を全て除いた結果を出力させたいのですが、 抽出条件をどのように指定したらいいのか分かりません。 そもそも、別テーブルのフィールドにある値すべてを除外させる抽出条件って指定できるのでしょうか。 SQLを用いる方法でも構いませんので教えてください。

  • アクセス フィールド値を分割したい

    いつも大変お世話になっております。 初心者につき、ご教示いただけますと幸いです。 アクセスのテーブル・フィールドに AAAA,BBBB,CCCC という値が入ってしまうため 「,」を区切りに分割したいです。 テーブル:T_商品 フィールド: 顧客ID|注文内容(連結で入ってしまうフィールド) 0001|AAAA 0002|AAAA,BBBB 0010|AAAA,BBBB,CCCC 0101|AAAA,BBBB,CCCC,DDDD,・・・ といったように、連結した値の数はまちまちで、 最大10個になります。 ちなみに、 これを ↓フィールド名 顧客ID|注文商品   に 0001|AAAA 0002|AAAA 0002|BBBB 0010|AAAA 0010|BBBB 0010|CCCC  ・  ・  ・ といったように、 最終的には 1つのフィールドにまとめたいです。 ご教示のほど、よろしくお願い致します。 尚、前半の「連結値を分割」だけでも テーブル更新(分割毎にフィールドに挿入)できれば、とても助かります! →この場合、予備フィールドなどを作成しておくか、  ワークテーブルなどで処理になりますでしょうか。 是非とも、よろしくお願い致します。

  • アクセスで片方のテーブルを優先して抽出する方法

    アクセスのデータ抽出で質問です。 画像のように「テーブル1」と「テーブル2」があり、クエリで「結果」のようにデータを抽出したいです。 一応出来てはいるのですが、もっとすっきりしたやり方があれば教えて下さい。 <やりたいこと> ・テーブル1とテーブル2のフィールド2を比較し、フィールド1を基準としてテーブル2にデータがあればそちらを抽出、なければテーブル1から抽出したい <現在のやり方> 1)テーブル1とテーブル2の差分クエリを作成 2)1)の差分クエリとテーブル2のユニオンクエリを作成 上記以外のスマートなやり方があれば是非知りたいと思っております。 よろしくお願いいたします。

  • 【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初心者で、クエリウィザードを使用した重複データ抽出、不一致データ抽出、 およびクエリデザインを使用した重複データ抽出が何とかできる程度です。 初心者でも分かるようにご回答いただければ大変助かります。 よろしくお願いいたします。

  • AccessのSQL 部分一致したデータの更新

    以下の様な2つのテーブルが有った場合、[商品テーブルA]と[商品テーブルB] の商品名フィールド同士の商品名が部分一致した場合、 [商品テーブルB]のIDフィールドに[商品テーブルA]のIDフィールドのID番号を 付与したいと考えております。 この様な場合のSQL文を教えて頂けませんでしょうか。 [商品テーブルA] ID  商品名 ------------- 1  A1AAAA 2  A1AAAB 3  A1AABB 4  A1ABBB 5  A1BBBB [商品テーブルB] ID  商品名 -------------    AAAB    AAAA    BBBB    AABB    ABBB SQLの結果として[商品テーブルB]が以下の様に更新される結果を期待しています。 【結果】 [商品テーブルB] ID  商品名 ------------- 2  AAAB 1  AAAA 5  BBBB 3  AABB 4  ABBB 商品名が完全一致する場合であれば、update inner join on set を使えば上手くいのですが、 部分一致の場合どの様にすれば良いのか、行き詰っています。 以上、宜しくお願い致します。

  • アクセスについて

    アクセス初心者です。 アクセスで毎月入ってくる商品に商品番号を付与しようと思っています。 商品リストテーブルには   フィールド1→商品名   フィールド2→商品番号 商品一覧テーブル    フィールド1→商品名(毎月100件程入る) この2つのテーブルから 商品番号付与クエリーを作成しました。 (フィールド1同士を繋ぎ、フィールド2の商品番号を引っ張ってくる) 但し、商品一覧テーブルに入ってくる商品の中で、まだ商品リストテーブルに登録されていない商品があります。その時、クエリーでは、その商品は表示されません。 どうにか登録されていない商品があった場合に、エラーと表示できるか、又は登録されていない商品を抽出するようなクエリーの作り方を教えて下さい。 よろしくお願いします。 分かりづらくてスミマセン・・・

  • Access 抽出漏れ行をみつけるクエリ

    図のようなテーブル「TBL_A」がCSVファイルの形で提供されます。この「TBL_A」は全レコードのテーブルあり「正」データばかりのマスターと考えてください。 このCSVデータをACCESSによみこみテーブル「TBL_A」としてあります。 「TBL_A」をいろいろな人が加工したり、抽出作業をしているのですが、「TBL_B」のような抽出をかけて渡してきた人がいたので、「データ(レコード)が足りないので、不一致クエリで足りないのを見つけておいてください」と頼んだところ、何度やってもみつけられないというので、自分でも試してみました。 図でいえば、ピンク色のレコード(行)をみつければいいのですが、Accessで不一致クエリをかけてみたところ、図の下部のようなデータしか抽出できませんでした。 やったことは2つ 1) TBL_Aを左にし、右にTBL_Bを右に配置し、不一致クエリウィザードでの矢印(→)で商品コードを紐付けた 2) 最初にTBL_AとTBL\Bをクエリで「商品コード」「価格」ぞれぞれ結びつけ(つまり2つの線)、「商品コード」「価格」を「クエリ1」として抽出。その「クエリ1」を上のTBL_Bの位置にもってきて、不一致クエリ。 どちらとも、結果は図の下のようになってしまいます。 図の上部のピンクの部分を確実に抜き出すには、どのようなクエリ(またはSELECT文)が必要でしょうか。 メモ: ・商品コードは「テキスト型」です。 ・商品コードが同じでも販売場所やいろいろな経緯で価格が違っていたり、返品の場合は返金するためマイナス金額がつくことがあり、商品コードと価格はかならずしも合致しません。 ・Accessは2010か2013を使っています。 ※今回はVBAの質問ではありません。

専門家に質問してみよう