2013-01-21 1 views
-1

내 SQL 데이터베이스에 두 개의 동일한 테이블이 있습니다.이 테이블은 각각 ​​항목 코드와 수량으로 구성됩니다.내적 조인 서로 다른

내가 볼 필요가있는 다른 양이 두 테이블의 항목 및

이 다른 테이블에 존재하지 않는 항목

내가 FULL OUTER가 ITEMCODE = ITEMCODE 및 수량을 ON 가입하여 시도 <는> IT가

내가 무엇입니까 결과를 작동하지 수량

뭔가 사장님이다 전자가 :

http://www.sendspace.com/file/nmb7yu

+5

** ** 작동하지 않는 ** 의미는 무엇입니까? 오류 메시지가 나타 납니까? 잘못된 결과? 다른 것? 몇 가지 행의 샘플 데이터 (가능한 모든 경우 포함)와 원하는 결과를 게시하여 귀하가 정확히 무엇을 알고 있는지 알려주십시오. –

+0

@AaronBertrand 당신이 방금 추가 한 링크에서 결과 세트를 다운로드 할 수 있습니다 –

+0

적어도 왜 부정 투표 : @ –

답변

1

null 인 위치를 행을 필터링한다는 것입니다 : 당신이 테스트를 가지고 있기 때문에

SELECT c.Code , 
     t1.Code , 
     t1.Qty , 
     t2.Code , 
     t2.Qty 
FROM (SELECT Code 
      FROM  dbo.Table1 
      UNION 
      SELECT Code 
      FROM  dbo.Table2 
     ) c 
     LEFT OUTER JOIN dbo.Table1 t1 ON c.Code = t1.Code 
     LEFT OUTER JOIN dbo.Table2 t2 ON c.Code = t2.Code 
WHERE t1.Code IS NULL 
     OR t2.Code IS NULL 
     OR t1.Qty <> t2.Qty 

을 WHERE 절의 부등식 때문에 암시 적으로 두 테이블에있는 항목 만 포함됩니다. 이렇게하면 한 테이블에 있지만 다른 테이블에는없는 항목을 포함하거나 양에 차이가 있습니다.

+0

Life Saver Thanks Man :) –

+0

WKordos의 답변이 더 좋을 것 같습니다. 다만 FYI입니다. 내가 제공 한 노동 조합은 노동 조합 및 왼쪽 외부 조인으로 인해 더 많은 읽기를 유발합니다. –

+0

괜찮습니다. 고맙습니다. –

1
select * 
from table1 a full outer join table2 b 
on a.code = b.code 
where a.qty <> b.qty or a.code is null or b.code is null 

내 행운의 추측 코드 열이 같은 시도