• 締切済み

ACCESS2000を使って複数のテーブルを照合する方法について

ACCESS2000を使用して下記のような3つのテーブルがあったとします。 1.メインテーブル   商品名   コード 1 りんご   012 2 りんご   022 3 バナナ   200 4 バナナ   201 5 イチゴ   100 2.A商店テーブル   商品名   コード 1 りんご   012 2 バナナ   200 3 バナナ   201 3.B商店テーブル 1 りんご   022 2 バナナ   201 テーブル1~3を照合して作製したいクエリ   商品名   コード  A  B 1 りんご   012  ○  × 2 りんご   022  ×  ○ 3 バナナ   200  ○  × 4 バナナ   201  ○  ○ 5 イチゴ   100  ×  × のように複数のテーブルを参照し、テーブル1のフィールドにある内容と同一のものがどのテーブルに存在するまたは、存在しないをがわかるような一覧リストを作成したいのですが、具体的にはどのようにしたら良いのでしょうか。 よろしくおねがいいたします。

  • Tach
  • お礼率43% (13/30)

みんなの回答

  • nectar
  • ベストアンサー率25% (1/4)
回答No.2

LEFT JOINを使えば出来ると思います。 この場合だと SELECT メインテーブル .商品名, メインテーブル .コード,     A商店テーブル.コード FROM メインテーブル LEFT JOIN A商店テーブル WHERE メインテーブル .コード = A商店テーブル.コード といった感じでしょうか? でもこのSQL文だと「○」or「×」ではなく「コード」or「NULL」で 結果が出ますので変換する必要がありますけど。。。

  • daisin
  • ベストアンサー率31% (21/66)
回答No.1

上の説明ではいまいち分からなかったのですが、これは、A商店B商店の2店舗だけと考えてよろしいんですか?また、現在だけの存在が分かればいいのですか? もしそうでしたら、難しいことをしないでも、各商品のテーブル(この場合メインテーブル)にA店用B店用のチェックボックスを2つ付け加えるだけでもいいと思うのですが?

Tach
質問者

補足

補足させて頂きます メインテーブル以外のテーブルはA商店 B商店に限らず C、D、E・・・ と複数個に増えていき固定ではありません また、各商店毎の商品名と商品コードも常に一定ではないため、各店毎にテーブルを作り、そこへ商品名と商品コードを追加・削除したいと考えております。 確かに、おっしゃるようにメインテーブルの中に、それぞれの店のフィールドを追加しそこにチェックを行えば、すむように思えるのですが、メインテーブル以外の 各店毎のテーブルが、別に供給されるため、上記のような作業を行いたいのです。 以上、おわかりいただけましたでしょうか?

関連するQ&A

  • 一つのテーブルの複数のフィールドから抜き出す方法について

    一つのテーブルの複数のフィールドから抜き出す方法について 例えば下記のようなテーブルがあったとします。       1     2     3     4 A商店  りんご   みかん   バナナ B商店  みかん   イチゴ   くり    パイナップル C商店  イチゴ   パイナップル バナナ D商店  イチゴ   バナナ   りんご のようなテーブルがありフィールド1~4いずれかにみかんを含むクエリーを作成し次のような結果をACCESSで作成したいのですが、簡単な方法はあるのでしょうか?       1     2     3     4 A商店  りんご   みかん   バナナ B商店  みかん   イチゴ   くり    パイナップル よろしくお願いいたします。 尚、使用しているデータベースはACCESS2000です。

  • ACCESS テーブル同士の照合

    テーブルAとテーブルBの照合がしたいのですが (AとBはフィールド名、データ型等全てが同じ) 項目が多く、クエリーの結合プロパティで一つ一つ設定するのが面倒です AとBを単純に照合出来る方法は無いでしょうか?

  • アクセスの2つのテーブルから重複しないものを抜き出す方法について

    アクセスの2つのテーブルから重複しないものを抜き出す方法について 例えば テーブル Aには ID   価格    商品   1  200    りんご   2  150    みかん   3  180    りんご   4  230    いちご テーブル Bには   1  150    みかん   2  180    りんご とあった場合 A-B のクエリーを実行して   1  200    りんご   2  230    いちご という結果を得たいのですが、どのようにすれば出来るのでしょうか よろしくお願いします。

  • Access2002 2つのテーブルのマージ方法

    いつもお世話になっております。 クエリについてお聞きします。 現在、2つのAccessDBが稼動しており、それを1つにまとめる作業をしています。 2つのDBには似通ったテーブルが存在し、それをマージする方法で悩んでいます。 テーブルA ・社員番号 ・社員氏名 ・フリガナ ・会社コード ・部署コード テーブルB ・従業員コード ・従業員名カナ ・従業員名 ・所属コード フィールドの定義としましては、 社員番号=従業員コード 社員氏名=従業員名 フリガナ=従業員名カナ 部署コード=所属コード となります。 全てテキストのレコードです。 これを、テーブルAを正にして、テーブルBのデータをAにマージしたいのです。 要件としましては、 1.テーブルAに存在する社員コードにマッチするレコードはそのまま残す(Bのデータは無視) 2.テーブルAに存在せず、Bに存在するものをAに追加する ということです。 クエリを使って色々試しましたが、どうしてもテーブルAに存在するものもアップデートしてしまい、困っています。 どなたかご教授願えれば幸いです。 よろしくお願いいたします。

  • ACCESSのフィールドデータの照合について

    テーブルAのフィールドAとテーブルBのフィールドBの文字をAを基準に1文字づつ全文字を照合しアンマッチ文字が3文字以上発生したら-1を1及び2文字発生は1を全て照合OKなら数字の0をクエリで行いたいのですが・・・ 最大21文字照合となります。 テーブルBのデータは手書文字をOCR変換した物でACCESS2000のマスターデータと照合しています。

  • AccessのテーブルにVBAでフィールドを追加したい

    Access97を使用しています。 クロス集計クエリを基にテーブルを新規作成します。 その後、フォームのコマンドボタンのイベントプロシージャでコードを記述してフィールドを追加していきたいのですが、どう書けばいいのでしょうか。 このテーブルは作業用で、頻繁に作って作業後は削除しますが、作成するたびにフィールドの数が異なります。(フィールド名も一部変わります。)それを常に同じフィールド数にしたいのです。追加したフィールドの表題は”-”(空白っぽく表現する)にしたい。 たとえば 商品名|場所A|場所B|合計|仕入先 みかん| 10 | 20 | 30|a店 りんご| 30 | 40 | 70|b店 を、下記のようにしたいと思います。 商品名|場所A|場所B|-|-|合計|仕入先 みかん| 10 | 20 | | | 30|a店 りんご| 30 | 40 | | | 70|b店 また、下記のようなケースもあります。 商品名|場所D|-|-|-|合計|仕入先 みかん| 10 | | | | 10|a店 りんご| 30 | | | | 30|b店 商品名|場所B|場所C|場所D|-|合計|仕入先 みかん| 10 | 20 | 20 | | 50|a店 りんご| 30 | 40 | 10 | | 80|b店 わかりにくい説明ですみません(>_<) よろしくお願いします。

  • accessフィールドの複数結合

    テーブルAの1つのフィールドとテーブルB内の複数のフィールドを結合させたい。例 テーブルAには社員コードと社員名、テーブルBには商品名、納入社員コード、商品管理社員コード。テーブルAの社員コードフィールドとテーブルBの2つの社員コードフィールドを結合させたいのです。テーブルAをコピーして2つ作り、それぞれをBの2つのフィールドと結合すると出来るのですが、テーブルAが社員名でなく、画像だったりするととても大きなファイルサイズになってしまいます。お答えお待ちしています。

  • 「Access2000」クエリー作成についてお教えください。

    たとえば、売上テーブルから売上先、商品、数量を抽出するクエリーを作成する場合、数量分のレコードを発生させたいのですが・・・。 つまり、売上テーブルに次のレコードがあったとき・・・  A商店 りんご 3個  B商店 みかん 2個 クエリーには以下のように表示させたいのですが・・・  A商店 りんご 3  A商店 りんご 3  A商店 りんご 3  B商店 みかん 2  B商店 みかん 2 以上、よろしくお願いします。

  • Access フォームから複数テーブルの入力は?

    フィールドが300ぐらいあるので項目ごとにテーブルで分けています。 1つにまとめるクエリを作成して、そのクエリを元にフォームを作成しました。 テーブルはフィールド名:品番で1対1のリレーションを組んでいます。 テーブル:商品カラー  ・フィールド:品番  ・フィールド:カラー テーブル:商品サイズ  フィールド:品番  フィールド:サイズ クエリのフィールド  フィールド名:品番 (商品カラーのフィールド:品番を指定)  フィールド名:カラー (商品カラーのフィールド:カラーを指定)  フィールド名:サイズ (商品サイズのフィールド:サイズを指定) この場合、品番をフォームから入力すると商品カラーの品番のみ入力されます。 商品カラーと商品サイズの品番を同時にファームから入力は出来ないでしょうか? 現在は10テーブルありますが1つのテーブルにまとめたほうがいのでしょうか?

  • アクセス クエリ 複数フィールド検索

    お世話になります。 アクセスのクエリを使用して、テーブルデータ内にある複数フィールドの中から、 特定のキーワードが存在しないIDのみを抽出したいのですが、どのようにすればよいでしょうか。 ご教示よろしくお願いいたします。 以下のIDの購入履歴でバナナを購入していないIDのみを抽出したい。 例 フィールド名  購入履歴1  購入履歴2 購入履歴3 購入履歴4 購入履歴5 ID1        バナナ    りんご    りんご          ID2        りんご     りんご    りんご    バナナ ID3 りんご     りんご