• ベストアンサー

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

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

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

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

クエリを新規作成して、テーブル1 と テーブル2 を追加します。 デザインビューで下記のように設定 フィールド___商品名 テーブル_____テーブル1 抽出条件____Like "*" & [テーブル2].[除外キーワード] & "*" SQLビューでは、 SELECT テーブル1.* FROM テーブル1, テーブル2 WHERE テーブル1.商品名 Like "*" & [テーブル2].[除外キーワード] & "*";

その他の回答 (1)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

select * from テーブル1 where not exists ( select 1 from テーブル2 where instr( テーブル1.商品名, テーブル2.除外キーワード )>0 )

関連するQ&A

  • 別のテーブルのフィールドを抽出項目にするには?

    別のテーブルのフィールドを抽出項目にするには? Access初心者です。 申し訳ありませんが、急ぎ回答いただきたく思います。 どうか宜しくお願いいたします。 お伺いしたい内容は、 データが多く、抽出条件も多いので、 別のテーブルのフィールドに入っている単語を使い、 抽出したい元データのレコードをあいまい検索して非表示にしたいです。 データの内容は下記になります。 --------------------------------------- 元データ(テーブル1とテーブル2から結合したクエリ(名前は元データ) フィールド1 フィールド2 ID-1     りんご ID-2     バナナ ・       ・ ・       ・ ・       ・ ID-2000    チェリー --------------------------------------- --------------------------------------- 除外リスト(テーブル3。名前は除外リスト) フィールド1 りんご チェリー ・ ・ ・ --------------------------------------- 元データのフィールド2に Not Like "*りんご*" And Not Like "*チェリー*" と記述すれば、フィールド2にりんご、チェリーを含むレコード以外のものが表示され、 欲しい情報が手に入るのですが、(上記例だとバナナのみ表示される) 実際にはりんご、チェリーなどあいまい検索し、非表示にしたいキーワードが100個あります。 なので、除外リストというテーブルをつくり、 そのフィールド内に書かれたキーワードを使い Not Like "*りんご*" And Not Like "*チェリー*" と同じような表示結果になるようにしたいのですが、 やり方が調べてもどうしてもわかりません。 どうか皆様のお力を貸してください。 宜しくお願いいたします。

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

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

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

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

  • 【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のデータ抽出について

    項目が同じ(1)テーブルと(2)テーブルと(3)の産地データをリレーションシップでつなぎデータ■クエリ_結果2のように抽出したいのですが■クエリ_結果2のちょうに重複するデータしか抽出できません。 どうしたら結果1のように全ての商品を抽出できるでしょうか? アクセス初心者です。よろしいくお願いします (1)テーブル【中央11月データ】 バナナ 50 りんご 10 ミカン 100 (2)テーブル【関西11月データ】 バナナ 30 梨 60 (3)産地データ バナナ フィリピン りんご 青森 みかん 愛媛 梨 千葉 ■クエリ_結果1 バナナ フィリピン 80 りんご 青森 10 みかん 愛媛 100 梨 千葉 60 ■クエリ_結果2 バナナ フィリピン 80

  • Accessでキーワード検索(抽出)

    Access97で新聞記事のデータベースを作っています。 以下のようなテーブルがメインの非常に単純なものです。 ┌──┬───┬──┬──┐ │日付│見出し│分類│備考│ ├──┼───┼──┼──┤ 新聞記事を日付やキーワードで抽出したいのですが、 キーワード検索がうまく出来ません。 パラメーターで見出し列からデータを抽出したところ、 完全に一致するデータは抽出されるのですが、 「*キーワード*」で一部合致のデータを 抽出することは出来ませんでした。 デザインビューで「抽出条件」に入力すれば 「*キーワード*」でも可能なことは確認しましたが Accessに慣れていない人に操作をさせたいため、できれば キーワード入力を促すフォーム(ダイアログ)表示 ↓ キーワードを入力して抽出 ↓ クエリー、フォーム又はレポートに表示 という手順にしたいのですが、 Accessの機能のみでそういったことはできますでしょうか? VBAを使った方がいいでしょうか?

  • アクセスでデーター抽出方法を教えて

    アクセスで、クエリー&サブフォームを使わず、テーブルのデータをフォーム上で抽出したいです。教えて下さい。(例)テーブル1:商品名A 商品番号2・・・・・、フォーム上で商品番号2と入力したら商品名Aだけを表示したい。

  • テーブル1から抽出したものをテーブル2に入れたい

    ACCESSのVBA初心者です。 基本的な質問で申し訳ないのですが、どうかご教授をお願いします。 まず、まったく同じフィールドを持つテーブル1とテーブル2があります。 抽出したい項目は、テーブル1の中にある[性別]と[登録月]が一致するデータの全てです。 性別と登録月は別のフォームのコンボボックスで選択したもので抽出しようと思っています。 該当するデータが含まれているレコードを全てテーブル2に移したいです。 説明が下手で申し訳ないのですが、どうかご教授をお願い致します。 Dim rs As DAO.Recordset Set db = CurrentDb() Set rs = db.OpenRecordset("テーブル1", dbOpenDynaset) DoCmd.RunSQL "DELETE FROM テーブル2" rs.Filter = " テーブル1.性別 = テーブル2.性別 & テーブル1.登録月 = テーブル2.登録月" テーブル2 = テーブル1.RecordsetClone 最初にdeleteがあるのは、前回の抽出条件を消したいからです。 よろしくお願い致します。

  • SQlite 2つのテーブル データ一致を抽出

    PHP4.xx と SQLite2 初心者です。 会員向けのメルマガ配信プログラムを構築しています。 配信リストのテーブルと 配信停止リストのテーブルの「メールアドレス」のカラムにあるデータを照らし合わせて一致する情報を抽出したいのですがどうしたら言いかわかりません… 具体的には・・・ ある会員が配信停止を希望し、配信停止フォームから自分のメールアドレスの送信します。 すると配信停止テーブルにメールアドレスが登録される構造になっています。 送信する際は毎回CSVファイルを読み込んで配信先リストを作成して、数百人に送信するのですが、その際に読み込んだ数百件のデータのメールアドレスの部分を配信停止テーブルに登録されているメールアドレスのデータを照らし合わせて、一致した行を読み込まないようにしたいのです。 (そうしないとまたうっかり送ってしまう可能性があるので。) どうぞよろしくお願いします。

  • 不一致クエリで異なるデータ抽出

    アクセスのテーブル「T_契約今月」とテーブル「T_契約先月」を 比べて、価格の違うものを抽出しようと思っています。 不一致クエリで「先月は契約があって今月は無いもの」と 「今月は契約があって先月は無いもの」は抽出する事が出来ました。 (NULLで設定) しかし、どちらにもデータがあって価格だけが違うものを抽出 出来るようにしたいのですが、不一致クエリの設定の仕方が 分かりませんでした。 どのように設定すればいいか教えて頂けないでしょうか? ちなみにテーブルの構成は、以下のフィールドで構成されて います。 「顧客ID」 「契約商品」 「価格」 「契約開始」 「契約終了」 テーブル「T_契約先月」は先月分の確定分の契約データが 入っています。 テーブル「T_契約今月」には、管理中の今月のデータが入って います。 どうかご教授願います。