我不确定这是否可以在 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
仅仅是别名,不需要更改。