電子書籍の厳選無料作品が豊富!

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テーブルの「日時」も引っ張れる形にしたいのですが・・・。

A 回答 (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 のパスがコロコロ変わるのであれば、
リンクテーブルにしておいた方が楽かも・・・
リンクテーブルにすれば、
・普通のテーブルとして扱えるし
・パスが変わったら、リンクマネージャで容易に変更可能
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!