我正在使用Microsoft Access。SQL訪問:兩個表之間的多個內部聯接
我有兩個表,生產和試劑。
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)
我試圖建立一個查詢鏈接C和P(從試劑)的供應商到生產參考ID(從生產),如下圖所示。
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將永遠不匹配。試劑參考ID下包括P參考ID和C參考參考ID。 –
不知道你是否嚴格需要一個連接,但我使用下面的子查詢給出了一個解決方案。我在我自己的訪問數據庫上用類似的表格對它進行了測試,結果很奏效。請注意緩慢,如果你超過了幾千條記錄,並沒有條件雖然 – Magisch