1つのテーブル内の2つのフィールドを2番目のテーブル内の1つのフィールドにリンクし、Accessでクエリを作成します。

1つのテーブル内の2つのフィールドを2番目のテーブル内の1つのフィールドにリンクし、Accessでクエリを作成します。

Access でこれが実行できるかどうかはわかりません。フォーラムを Google で検索しましたが、まだ有効な解決策は見つかりませんでした...

基本的に、異なる時間に複数の血液サンプルを提供する患者のリストがあります。各サンプルは収集され、ラックバーコードで記録されます。各ラックバーコード(サンプル)には、複数のチューブバーコード(サンプルの一部)があります。

3 つのテーブルを持つデータベースがあります。

ID情報: 患者情報(患者ID、人口統計情報)

バーコード: 患者ごとに収集されたすべてのサンプルのリスト (ラックバーコード、チューブバーコード a、チューブバーコード b)

バーコードの割り当て: 各患者に割り当てられているバーコード テーブルからのラック バーコード。(患者 ID、ラック バーコード 1、ラック バーコード 2) ラック バーコード 1 は、時点 1 で収集されたサンプルであり、ラック バーコード 2 は、時点 2 で同じ患者から収集されたサンプルです。ラック バーコード 1 とラック バーコード 2 は、どちらもバーコード テーブルで「ラック バーコード」として表示されます。

ID 情報とバーコード割り当ての間に患者 ID を使用した内部結合があります。バーコードとバーコード割り当ての間には 2 つの外部結合があります。バーコード テーブルの rackbarcode は、バーコード割り当てテーブルの RackBarcode 1 と RackBarcode 2 の両方にリンクされています。

患者 ID 情報を適切なバーコードに接続したいのですが、そのためには BarCode Assignment テーブルを使用します。もっと良い方法があるかもしれませんので、ご提案をお待ちしています。

私の最終目標は、患者ごとにすべてのサンプル情報を表示するクエリを実行することです。

患者 ID、ラック バーコード 1、チューブ バーコード A1、チューブ バーコード B1、バーコード 2、チューブ バーコード A2、チューブ バーコード B2

答え1

Barcodesデータベース構造の説明から判断すると、テーブルの 2 つの参照 (それぞれに 1 つの参照)を結合する必要があるようですrackbarcode

例えば:

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

質問内のフィールド名のスペースが一貫しておらず、質問内のさまざまな箇所で異なる名前を使用して同じフィールドを参照しているため、上記の例では正しいフィールド名を使用していることを保証できません。

bab1& はb2単なるエイリアスなので、変更する必要がないことに注意してください。

関連情報