Verknüpfen Sie zwei Felder einer Tabelle mit einem Feld einer zweiten Tabelle und erstellen Sie qry in Access

Verknüpfen Sie zwei Felder einer Tabelle mit einem Feld einer zweiten Tabelle und erstellen Sie qry in Access

Ich bin nicht sicher, ob dies in Access möglich ist. Ich habe in Foren gegoogelt und noch keine Lösung gefunden, die funktioniert ...

Im Wesentlichen gibt es eine Liste von Patienten, die zu unterschiedlichen Zeiten mehrere Blutproben abgeben. Jede Probe wird entnommen und mit einem Rack-Barcode aufgezeichnet. Jeder Rack-Barcode (Probe) hat mehrere Röhrchen-Barcodes (Teile der Probe).

Ich habe eine Datenbank mit drei Tabellen.

ID-Info: Patienteninformationen (Patienten-ID, demografische Informationen)

Barcodes: Eine Liste aller für einen Patienten gesammelten Proben (Rack-Barcode; Röhrchen-Barcode a; Röhrchen-Barcode b)

Barcode-Zuweisung: Rack-Barcodes aus der Barcode-Tabelle, wie sie jedem Patienten zugewiesen werden. (Patienten-ID, Rack-Barcode 1, Rack-Barcode 2) Rack-Barcode 1 ist eine zum Zeitpunkt 1 entnommene Probe und Rack-Barcode 2 ist eine zum Zeitpunkt 2 für denselben Patienten entnommene Probe. Rack-Barcode 1 und Rack-Barcode 2 können in der Barcode-Tabelle beide als „Rack-Barcode“ bezeichnet werden.

Ich habe einen Innerjoin zwischen ID-Info und Barcode-Zuweisungen mit der Patienten-ID. Ich habe 2 Outerjoins zwischen Barcodes und Barcode-Zuweisungen. Rackbarcode aus der Barcode-Tabelle ist sowohl mit RackBarcode 1 als auch mit RackBarcode 2 in der Barcode-Zuweisungstabelle verknüpft.

Ich möchte die Patienten-ID-Informationen mit den entsprechenden Barcodes verknüpfen. Dazu verwende ich die BarCode Assignment-Tabelle. Es gibt vielleicht eine bessere Möglichkeit, das zu tun, und ich bin offen für Vorschläge.

Mein Endziel besteht darin, eine Abfrage auszuführen, die mir alle Probeninformationen nach Patient anzeigt:

Patienten-ID; Rack-Barcode 1; Röhrchen-Barcode A1; Röhrchen-Barcode B1; Barcode 2; Röhrchen-Barcode A2; Röhrchen-Barcode B2

Antwort1

Aus Ihrer Beschreibung der Datenbankstruktur geht hervor, dass Sie zwei Referenzen der Tabelle verbinden müssen Barcodes, jeweils eine Referenz rackbarcode.

Zum Beispiel:

select 
    ba.[patient id], 
    ba.[rackbarcode 1],
    b1.[tube barcode a],
    b1.[tube barcode b],
    ba.[rackbarcode 2],
    b2.[tube barcode a],
    b2.[tube barcode b]
from
    (
        [barcode assignment] ba inner join barcodes b1 on
        ba.[rackbarcode 1] = b1.rackbarcode
    ) 
    inner join barcodes b2 on
    ba.[rackbarcode 2] = b2.rackbarcode

Die Leerzeichen in den Feldnamen in Ihrer Frage waren nicht einheitlich und Sie haben an verschiedenen Stellen in Ihrer Frage auf dieselben Felder mit unterschiedlichen Namen verwiesen. Deshalb kann ich nicht garantieren, dass ich im obigen Beispiel die richtigen Feldnamen verwendet habe.

Beachten Sie, dass ba, b1& b2lediglich Aliase sind und nicht geändert werden müssen.

verwandte Informationen