Ich arbeite in Microsoft Access.SQL Access: Mehrere innere Join zwischen zwei Tabellen
Ich habe zwei Tabellen, Produktion und Reagenzien. wie unten
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)
Ich versuche, eine Abfrage zu erstellen, die Lieferanten von C und P (von Reagenzien) in die Produktion Referenz-ID (aus der Produktion), zu verbinden.
Query Output
- Production Reference ID
- C Supplier
- P Supplier
Unten ist, was ich bisher habe, aber es sagt mir, dass ich einen Operator vermisse.
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=?
Vielen Dank im Voraus!
Also C Referenz-ID und P Referenz-ID sind identisch? – Magisch
C Die Referenz-ID entspricht C00001, während die P-Referenz-ID in der Zeile von P00001 steht und P und C nicht übereinstimmen. Sowohl die P-Referenz-ID als auch die C-Referenz-Referenz-ID sind unter der Reagenz-Referenz-ID enthalten. –
Nicht sicher, ob Sie unbedingt einen Join benötigen, aber ich habe eine Lösung mit Unterabfragen gegeben. Ich habe es mit einer ähnlichen Tabelle in meiner eigenen Access-Datenbank getestet und es hat funktioniert. Vorsicht vor Langsamkeit, wenn Sie ein paar tausend Datensätze überschreiten und keine wo bedingte obwohl – Magisch