OS:WindowsXP SP3
使用ソフト: Microsoft Access2003
選択クエリにて、別テーブルのフィールドにある値すべてを抽出条件にできますか?
ホームページに来て頂いた方の検索キーワードを集計しております。
テーブル1には『検索キーワード履歴』フィールドがあり、お客様が使用した検索キーワードが入力されています。(約2万件)
テーブル2には『除外キーワード候補』フィールドがあり、不要なキーワードが入力されています。(約10件)
クエリにて、『検索キーワード履歴』から『除外キーワード候補』の値を全て除いた結果を出力させたいのですが、
抽出条件をどのように指定したらいいのか分かりません。
そもそも、別テーブルのフィールドにある値すべてを除外させる抽出条件って指定できるのでしょうか。
SQLを用いる方法でも構いませんので教えてください。
No.2ベストアンサー
- 回答日時:
SELECT * FROM テーブル1
WHERE NOT EXISTS
(SELECT * FROM テーブル2 WHERE テーブル1.検索キーワード履歴 = テーブル2.除外キーワード候補)
OR 検索キーワード履歴 IS NOT NULL
とか
SELECT * FROM テーブル1
WHERE 検索キーワード履歴 NOT IN (SELECT 除外キーワード候補 FROM テーブル2 )
ということ?
1フィールドに1キーワードの場合です。
No.3
- 回答日時:
>解決方法をご存知でしたら改めてお願い申し上げます。
下記3通りのいづれかをお試しください。
「表示」「集計」で集計方法を「グループ化」
http://office.microsoft.com/ja-jp/access-help/HP …
クエリのプロパティを表示して「固有のレコード」を「はい」にする。
http://office.microsoft.com/ja-jp/access-help/HA …
フィールドのプロパティを表示して「固有の値」を「はい」にする。
http://office.microsoft.com/ja-jp/access-help/HA …
この回答への補足
自己解決しました。
以下、経緯を記入いたします。
目的:
クエリの抽出条件として、別テーブルに登録されているレコード・フィールドを除外キーワードとして使いたい。
参考ページ:No30101.クエリのNot演算子について教えていただけませんか
http://www.accessclub.jp/bbs/0081/beginers30101. …
■解決方法■
1.クエリ作成画面にて テーブル1 の『ID』フィールドと『検索キーワード履歴』を登録します。(『ID』フィールド必須)
2.『ID』フィールドの抽出条件に、以下の文法にて入力します。(改行しない場合は半角スペースを入れてください)
文法:
Not In (SELECT 検索元テーブル.IDフィールド
FROM 検索元テーブル, 除外キーワードテーブル
WHERE 検索元テーブル.検索したいフィールド Like "*" & 除外キーワードテーブル.除外キーワードフィールド & "*")
今回の場合:
使用したテーブルは以下の通り
テーブル1 (テーブル名/検索元テーブルです)
--------------------
ID(フィールド/IDとして使用)
検索キーワード履歴 (フィールド名/検索されるデータ)
テーブル2 (除外したいワードが登録されている)
--------------------
除外キーワード候補 (フィールド名/抽出クエリに用いる除外したいキーワードが登録されている)
実装するとこんな感じ:
Not In (SELECT テーブル1.ID
FROM テーブル1, テーブル2
WHERE テーブル1.検索キーワード履歴 Like "*" & テーブル2.除外キーワード候補 & "*")
以上。
部分一致として動作し、別テーブルのフィールドに登録されたキーワード全件を除外した上で、クエリを出力します。
以上です。失礼いたします。
No.1
- 回答日時:
選択クエリでテーブル1、テーブル2を連結しないで選択
テーブル1の検索キーワード履歴の抽出条件欄に
<>[テーブル2].[除外キーワード候補]
と入力して保存
もし、除外キーワード候補が検索キーワード履歴の一部分なら条件は
Not Like "*" & [テーブル2].[除外キーワード候補] & "*"
としてください。
お返事頂きましてありがとう御座います。
教えていただきました部分一致による抽出条件
Not Like "*" & [テーブル2].[除外キーワード候補] & "*"
によりクエリを実行したところ、意図せぬ結果が出力されました。
部分一致による抽出は機能していますが、
テーブル2.除外キーワード候補へ登録されているレコードの数ぶん(10件)同一内容が出力されてしまいます。
■出力結果(各結果が10件ずつ表示される)
おにく
おにく
おにく
おにく
おにく
おにく
おにく
おにく
おにく
おにく
お魚
お魚
お魚
お魚
お魚
お魚
お魚
・・・以下略
■希望(1件毎に表示)
おにく
お魚
冷凍食品
調味料
菓子
・・・
・・・
・・・以下略
なお蛇足ですが、
Like "*" & [テーブル2].[除外キーワード候補] & "*"
にて実行すると、[除外キーワード]を含む値が1件毎正常に出力されます。
Like と Not Like では挙動が異なるようです。
解決方法をご存知でしたら改めてお願い申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) セルの値をグーグルで検索するエクセルVBAについて! 2 2022/08/01 21:41
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- その他(ブラウザ) Googleのオートコンプリート機能について 2 2023/07/19 00:04
- オープンソース ChatGPTをスプレッドシートと連携して自動でリサーチしたいんですがうまく出来ません。。。 1 2023/05/05 15:59
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ACCESS クエリの抽出条件に他のテーブルの値を参照する方法
Access(アクセス)
-
別のテーブルのフィールドを抽出項目にするには?
Access(アクセス)
-
<ACCESS>別テーブルのレコードのテキストデータが中に含まれるレコードを抽出する方法を教えてください
Access(アクセス)
-
-
4
Accessで任意のテーブルのフィールド値をクエリの抽出条件にできますか?
Access(アクセス)
-
5
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
6
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
7
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
8
Access]2つのテーブルを比較してフィールドの一部が一致したデータを抽出
Access(アクセス)
-
9
「#エラー」の回避
Access(アクセス)
-
10
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
11
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
12
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
13
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
14
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
15
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
16
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
17
あるフィールドの最大値を条件にデータを抽出する方法
その他(データベース)
-
18
Accessの桁区切りについて教えてください。
Access(アクセス)
-
19
Acccessで2つのテーブルから1つのフォームをつくりたい
Access(アクセス)
-
20
ACCESSのクエリー抽出条件にIIFを使用して
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス: フォーム上で計算...
-
クエリ上でフィールド名が2つ...
-
アクセス・テーブルの改行につ...
-
Access フォーム上でのテキス...
-
アクセスでの、フォームとテー...
-
ACCESSの時刻の引き算
-
Accessで更新履歴情報を保存(...
-
Accessでチェックボックスから...
-
アクセスの追加クエリで教えて...
-
テーブルとクエリの相関図は表...
-
Access2013 クエリ内別フィール...
-
Access where条件式について
-
アクセスに自動入力を入れたい
-
アクセスクエリで英数字のみ半...
-
INT関数のバグ?
-
Access 住所入力支援が機能しま...
-
ACCESSのリストボックスで複数...
-
Access 別テーブルにある値を抽...
-
アクセスでテーブル入力用のフ...
-
Access フォームで複数テーブル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス・テーブルの改行につ...
-
Accessで更新履歴情報を保存(...
-
クエリ上でフィールド名が2つ...
-
アクセス: フォーム上で計算...
-
アクセスでの、フォームとテー...
-
Access フォーム上でのテキス...
-
アクセスクエリで英数字のみ半...
-
アクセスの追加クエリで教えて...
-
アクセス:SQLでフィールド...
-
ACCESSの時刻の引き算
-
テーブルとクエリの相関図は表...
-
INT関数のバグ?
-
Access 別テーブルにある値を抽...
-
アクセスに自動入力を入れたい
-
Access ルックアップが反映され...
-
ACCESSのリストボックスで複数...
-
Access フォームで複数テーブル...
-
アクセスでフォームに入力した...
-
access テーブルの色分けについて
-
アクセスでテーブル入力用のフ...
おすすめ情報