- 締切済み
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テーブルの「日時」も引っ張れる形にしたいのですが・・・。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- 30246kiku
- ベストアンサー率73% (370/504)
以下でどんな感じになりますか 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 のパスがコロコロ変わるのであれば、 リンクテーブルにしておいた方が楽かも・・・ リンクテーブルにすれば、 ・普通のテーブルとして扱えるし ・パスが変わったら、リンクマネージャで容易に変更可能