• 締切済み

2つのmdbのリレーション

A.mdbのAテーブル「名称」「数」「場所」「値段」のフィールドがあり、名称1つに付き1レコードが存在しています。 りんご   100   青森   200 梨     90    山梨   300 キャベツ  200   愛知   250 ... B.mdbのBテーブルには「日時」「名称」「数」「場所」のフィールドが、日毎に1レコードずつ存在しています 9月1日   りんご   100   青森 9月3日   りんご   190   青森 9月3日   りんご   120   青森 9月7日   梨     100   山梨 9月8日   梨     90    山梨 9月11日   キャベツ  200   愛知 ... この2つのmdbを1つのテーブルに纏めたいのですが可能でしょうか? 名称りんごで検索するとAテーブルの「値段」も引っ張れてBテーブルの「日時」も引っ張れる形にしたいのですが・・・。

みんなの回答

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

以下でどんな感じになりますか A.mdb のフルパスを ★★ B.mdb のフルパスを ▲▲ と仮定します。 C.mdb のクエリ SQLビューで以下を記述し表示してみます SELECT Q1.*, Q2.値段 FROM (SELECT * FROM Bテーブル IN '▲▲') AS Q1 INNER JOIN (SELECT * FROM Aテーブル IN '★★') AS Q2 ON Q1.名称=Q2.名称 AND Q1.場所=Q2.場所; Aテーブル / Bテーブルの「名称」「場所」で結び付けます A.mdb / B.mdb とも D:\Hoge フォルダにあるのなら以下の様に SELECT Q1.*, Q2.値段 FROM (SELECT * FROM Bテーブル IN 'D:\Hoge\B.mdb') AS Q1 INNER JOIN (SELECT * FROM Aテーブル IN 'D:\Hoge\A.mdb') AS Q2 ON Q1.名称=Q2.名称 AND Q1.場所=Q2.場所; B.mdb 内のクエリでやるのなら、Bテーブルは自分にあるので SELECT Q1.*, Q2.値段 FROM Bテーブル AS Q1 INNER JOIN (SELECT * FROM Aテーブル IN '★★') AS Q2 ON Q1.名称=Q2.名称 AND Q1.場所=Q2.場所; とか A.mdb / B.mdb のパスがコロコロ変わるのであれば、 リンクテーブルにしておいた方が楽かも・・・ リンクテーブルにすれば、 ・普通のテーブルとして扱えるし ・パスが変わったら、リンクマネージャで容易に変更可能

関連するQ&A