2012-11-19 2 views
2

쿼리에 문제가 발생하여 진행 상황에 대한 아이디어가 부족합니다.두 기준에 따라 왼쪽 조인을 사용하여 Access-SQL 쿼리에 누락 값이 있습니다.

StoreID Product Other data… 
KH00137 Super … 
KH00137 Regular … 

내가 왼쪽으로 노력하고 사용을 StoreID 및 제품 모두에서 다음과 T2 조인 다음 StoreIDs의 몇 주는 것으로,

StoreID Product ProductShipped 
KH00137 Super 18 
KH00137 Regular 12 

그리고 다른 테이블 T2 : 나는 테이블 T1을 질의 :

SELECT T1.StoreID, T2.StoreID, T1.Product, T1. ProductShipped 
FROM T1 LEFT JOIN T2 ON (T1.Product = T2.Product) AND (T1.StoreID = T2.StoreID); 

그러나

성공적으로 다른 하나에 결합 갖고있는 것 같아요에도 불구하고이 분야의 T2의을 StoreID 필드 중 하나가 표시되지 않는 몇 가지 이유에 대해 :

T1.StoreID T2.StoreID T1.Product T1.ProductShipped 
KH00137     Super  18 
KH00137  KH00137  Regular  12 

아이디어가 있으십니까?

답변

2

성공적으로 가입했다고 가정 할 이유가 없습니다. 출력 데이터의 첫 번째 행에있는 세 개의 NULL이 아닌 필드는 각각 table1에서옵니다.

이것은 실제로 가입이 전혀 없음을 나타냅니다.

  • 데이터에 공백과 대/소문자가 일치하지 않는지 테스트하십시오. 기능의 LENGTH() 유형은 하나 개의 문자열이 실제로 다른과 동일하지 않습니다 표시 될 수 있습니다 사용


. (한 Super 5 자 수 있으며, 다른 테이블의 Super은 끝에 공백이 긴. 또는 가능성을 StoreID에서 비슷한 6 자 될 수 있을까요?) 또한

이는 이유 중 하나입니다 아니요, 텍스트 필드에 가입하십시오. foriegn 키 ID를 정수와 같이 숫자로 유지함으로써 거의 자주이 문제에 부딪치지 않고 디버깅과 수정이 쉽습니다.

행운을 빈다.

+0

'doh'순간에 제품 유형 (위의 게시물에서 변경됨)은 영국의 맞춤법 및 영어의 맞춤법이 다른 곳에서 나타납니다. 그래서 나는 그것을 고치고 이제는 완벽하게 결합합니다. 텍스트 필드에 가입하는 데 대한 요점을 지니고 있습니다. :) – Wilskt

관련 문제