2012-08-02 3 views
0

현재 현재 서로 다른 결과가 표시되는 두 개의보기가 있습니다. 하나는 이전 데이터베이스에 있고 다른 하나는 새 데이터베이스에 있습니다.
ond 뷰는 ~ 50000 레코드를 가져 오는 반면 새 뷰는 ~ 40000을 가져옵니다.
둘 다 하나 또는 두 개의 열을 제외하고 거의 모든 데이터가 동일합니다.두보기 비교

둘을 결합하여 다른 것을 볼 수있는 방법이 있습니까?

쿼리 및 조인에 관한 한 제한적인 지식이 있습니다.

왼쪽에 합류하여 연결을 시도했지만 100000 이상의 결과를 얻었습니다. 나는 그것을 원하지 않는다. ~ 50000 결과를 원하고 정보가없는 곳에서 열을 null로 지정하십시오.

이것이 가능합니까? 감사

답변

2

다음을 시도 할 수 있습니다. 먼저 왼쪽 조인을 사용하여 테이블을 조인 한 다음 나중에 새 테이블에서 null 값을 필터링합니다. 이

select * 
from oldview o 
     left join newview n 
      on o.field = n.field 
where n.value is null 

같은

뭔가 당신이 어디에 문을 필터링 newview 값을 결합하고있다 그런 식으로. 먼저, 필터를 결합한 다음 필터를 필터링합니다.

3

이 작업을 시도 할 수 있습니다 :

SELECT * FROM OldView 
EXCEPT 
    SELECT * FROM NewView 
+0

두 테이블에서 서로 다른 이름의 하나의 열이 있고이 열을 나란히 배치하려고합니다. 이는 다음 열의보기에서 열 중 하나가 잘못되었거나 그 반대의 경우 계속 표시된다는 점에서 문제가되는 것입니다. 이 둘레에 waya가 있습니까? 감사! – user1512593

+0

보기의 모든 결과 열에 고유 한 이름이 있어야합니다. 그래서', OldView.Col1 As oldCol1 '과 같이 "As"를 사용하여 컬럼의 이름을 변경해야합니다. – RBarryYoung