2012-11-17 4 views
0

나는 원하는대로 작동 할 필적할만한 쿼리를 얻는 데 어려움을 겪고 있습니다. 저는 Access 2010을 사용하고 있으며 .accdb 응용 프로그램입니다.일치하지 않는 검색어

두 개의 테이블이 있습니다. 첫째날과 둘째 날

그들은 모두 열이 : 위치, artno, artdesc, 수량

을 열 위치가 저장 위치의 전체 목록과 위치가 비어 있거나없는 경우에도 표시됩니다.

내가 원하는 것은 Day1과 Day2를 비교하여 전날과 정확히 일치하지 않는 위치 목록을 생성하는 것입니다. I.E 다른 기사, 다른 양의 기사 및 기사가 Day1 위치에 저장되었지만 더 이상 Day2에 기사가없는 경우에도 마찬가지입니다.

원하실 경우 0 재고 목록으로 문의하십시오.

아이디어가 있으십니까?

답변

0

은과 같이 LEFT JOIN을 시도해보십시오

SELECT * 
FROM Day1 d1 
LEFT JOIN Day2 ON d1.position = d2.position 

이 더 이상 Day2 테이블에 존재하지 않습니다 타의 추종을 불허 즉 행, 행이 포함됩니다.

1
select * 
from Day1 
join Day2 on Day1.position = Day2.position 
    and 
    (
     (Day1.artno != Day2.artno 
     or (Day1.artno is null and Day2.artno is not null) 
     or (Day1.artno is not null and Day2.artno is null) 
    ) 
     or 
     (Day1.qty!= Day2.qty 
     or (Day1.qty is null and Day2.qty is not null) 
     or (Day1.qty is not null and Day2.qty is null) 
    ) 
    ) 

이것은, 액세스 "FROM 절에 구문 오류"나에게 대한 메시지를 준다 "없다"귀하의 예를 보이는만큼 좋은 null

+0

로 저장되는 요구를 충족시켜 – aztekk