Microsoft Accessで作業しています。SQLアクセス:2つのテーブル間の複数の内部結合
プロダクションと試薬の2つのテーブルがあります。
Reagents
- Reagent Reference ID (text)
- Supplier (text)
Production
- Production Reference ID (text)
- C Reference ID (text) (matches Reagents.Reagent Reference ID)
- P Reference ID (text) (matches Reagents.Reagent Reference ID)
私は以下のように、(生産から)生産リファレンスIDへ(試薬から)CとPのサプライヤーをリンクするために、クエリを構築しようとしています。
Query Output
- Production Reference ID
- C Supplier
- P Supplier
以下は私がこれまでに持っていたものですが、私には演算子がありません。
SELECT C.Supplier as 'C Supplier', P.Supplier as 'P Supplier'
FROM Production
INNER JOIN Reagents AS C ON C.Reagent Reference ID=Production.C Reference ID
INNER JOIN Reagents AS P ON P.Reagent Reagent Reference ID=Production.P Reference ID
WHERE Production.Production Reference ID=?
ありがとうございます!
C参照IDとP参照IDは同じですか? – Magisch
C参照IDはC00001の行にあり、P参照IDはP00001の行にあり、PとCは決して一致しません。 P Reference IDとC Reference Reference IDの両方がReagent Reference IDの下に含まれています。 –
厳密に結合が必要なのかどうかはわかりませんが、私は以下のサブクエリを使って解を与えました。私は自分のアクセスデータベース上の同様のテーブルでそれをテストし、それがうまくいった。数千レコードを超えても条件がない場合は遅くなることに注意してください – Magisch