将一个表中的两个字段链接到第二个表中的一个字段,并在 Access 中创建查询

将一个表中的两个字段链接到第二个表中的一个字段,并在 Access 中创建查询

我不确定这是否可以在 Access 中实现;我一直在谷歌搜索论坛但还没有找到可行的解决方案...

本质上,有一个在不同时间提供多个血液样本的患者名单。每个样本都用架子条形码收集和记录。每个架子条形码(样本)有多个试管条形码(样本的一部分)

我有一个包含三个表的数据库。

ID 信息:患者信息(患者 ID、人口统计信息)

条形码:任何患者采集的所有样本的列表(机架条形码;试管条形码 a;试管条形码 b)

条形码分配:条形码表中的架子条形码已分配给每个患者。(患者 ID、架子条形码 1、架子条形码 2)架子条形码 1 是在时间点 1 收集的样本,架子条形码 2 是在时间点 2 为同一患者收集的样本。架子条形码 1 和架子条形码 2 都可以在条形码表中作为“架子条形码”找到。

我在 ID 信息和条形码分配(包含患者 ID)之间建立了内连接。我在条形码和条形码分配之间建立了 2 个外连接。条形码表中的 rackbarcode 与条形码分配表中的 RackBarcode 1 和 RackBarcode 2 相关联。

我想将患者 ID 信息与相应的条形码关联起来,为此我使用了条形码分配表。可能有更好的方法可以做到这一点,我愿意听取建议。

我的最终目标是运行一个查询,显示患者的所有样本信息:

患者 ID;架子条形码 1;试管条形码 A1;试管条形码 B1;条形码 2;试管条形码 A2;试管条形码 B2

答案1

根据您对数据库结构的描述,听起来您需要加入表的两个引用Barcodes,每个引用一个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

您的问题中字段名称中的空格不一致,并且您在问题的各个部分使用不同的名称引用相同的字段,因此我无法保证在上面的示例中使用了正确的字段名称。

请注意ba,、b1&b2仅仅是别名,不需要更改。

相关内容