2017-04-03 1 views
0

기본적으로 제품 목록이있는 표가 있고 서명 필요, 추적 필요 등 2 개의 이진 필드가 있습니다.개별 쿼리에서 결과를 반환하는 방법?

그런 다음 두 개의 부울 필드가있는 특사 목록이 있습니다.

하나의 이진 필드에 예가있는 제품이 다른 제품에 예가 필요하다는 것을 알고 특정 제품에 사용할 수있는 모든 특사의 목록을 반환하고 싶습니다. 그러나 no는 다른 테이블에서 예 또는 아니오를 가질 수 있습니다.

ProductNumber trackingrequired signaturerequired 
123    yes      no 

CourierID trackingrequired signaturerequired 
1     yes      yes 
2     no      no 
3     yes      no 
4     no      yes 
5     yes      no 

질의 1 (3, 5)를 반환 : 서명이 필요하지

ProductNumber CourierID 
123    1 
123    3 
123    5 

때문에, 두 번째 열에서 데이터가이 경우에 무관하다. 필요한 경우 데이터 저장 방법을 변경하게되어 기쁩니다. MSAcess를 사용 중입니다.

+0

샘플 테이블 데이터를 포함하십시오. 이 설명에 기초하여 질문을 "파"할 수는 없습니다. –

+0

@Francisco : "부울"또는 "예/아니오"필드를 의미한다고 가정합니다. 이진 필드는 매우 다른 무언가입니다. - 샘플 데이터는 http://ozh.github.io/ascii-tables/를 사용하십시오. – Andre

+0

예. 그럴거야. 잠시만 –

답변

0

"도우미 필드"가 만들어졌습니다.

((IIf(([tblmarketplaceshippingservices].[Tracked]="Yes" And [tblCourierServices].[Tracked]="No") Or ([tblmarketplaceshippingservices].[SignatureRequired]="Yes" And [tblCourierServices].[Signature Required]="No"),0,1))=1)); 

그런 다음 0을 필터링합니다. 기본적으로 좋지 않은 유일한 경우는 첫 번째 테이블에서 무언가가 예이고 두 번째 테이블에서는 무언가 예입니다. 다른 모든 예는 좋은 조합이 아닙니다.

0

괜찮은 샘플의 제품 레코드가 충분하지 않습니다. 시도 :

SELECT Products.ProductNumber, Couriers.CourierID, Couriers.TrackingRequired, Couriers.SignatureRequired 
FROM Couriers, Products 
WHERE (((IIf([Products]![TrackingRequired]=-1,[Couriers]![TrackingRequired]=-1, IIf(Products!SignatureRequired=-1,[Couriers]![SignatureRequired]=-1,[Couriers]![SignatureRequired]>=-1))))); 
관련 문제