한 테이블의 두 필드를 두 번째 테이블의 한 필드에 연결하고 Access에서 qry를 만듭니다.

한 테이블의 두 필드를 두 번째 테이블의 한 필드에 연결하고 Access에서 qry를 만듭니다.

Access에서 이것이 가능한지 잘 모르겠습니다. 나는 포럼을 인터넷 검색했지만 아직 작동하는 해결책을 찾지 못했습니다 ...

기본적으로 서로 다른 시간에 여러 혈액 샘플을 제공하는 환자 목록이 있습니다. 각 샘플은 랙 바코드로 수집되고 기록됩니다. 각 랙 바코드(샘플)에는 여러 개의 튜브 바코드(샘플의 일부)가 있습니다.

세 개의 테이블이 있는 데이터베이스가 있습니다.

ID정보 : 환자정보(환자ID, 인구통계정보)

바코드: 모든 환자에 대해 수집된 모든 샘플 목록(랙바코드; 튜브 바코드 a; 튜브바코드 b)

바코드 할당: 각 환자에게 할당된 바코드 테이블의 랙 바코드입니다. (환자 ID, 랙바코드 1, 랙바코드2) 랙 바코드 1은 시점 1에 수집된 샘플이고 랙 바코드 2는 시점 2에 동일한 환자에 대해 수집된 샘플입니다. 랙 바코드 1과 랙 바코드 2는 모두 "rackbarcode"로 좋아할 수 있습니다. "를 바코드 테이블에 표시합니다.

환자 ID를 사용하여 ID 정보와 바코드 할당 사이에 내부 조인이 있습니다. 바코드와 바코드 할당 사이에 2개의 외부 조인이 있습니다. 바코드 테이블의 랙바코드는 바코드 할당 테이블의 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뿐이므로 변경할 필요가 없습니다.

관련 정보