링크서버를 이용하여 원격지 정보를 불가피하게 가져와야 하는 경우가 있는데..
링크서버를 이용하여 JOIN시 오류가 발생합니다.
쿼리는
SELECT DISTINCT A.ID, B.NAME
FROM LINK1...TABLE1 A INNER JOIN LINK1...TABLE2 B
ON A.ID = B.ID
WHERE LEFT(A.DATE,6) BETWEEN '200906' AND '200907'
이런식의 조회 쿼리이고
A는 트랜잭션 데이터가, B는 코드 마스터 정보가 있습니다.
그런데 조인리스트를 쭉 풀어보면
A.ID B.ID B.NAME
1001 1001 name1
1001 1002 name2
1002 1002 name2
1003 1003 name3
....
이런식으로 키값이 틀린 컬럼과 조인된 리스트가 나옵니다.
원격지 로컬에서는 정상적으로
1001 1001 name1
1002 1002 name2
....
이런식으로 유니크하게 출력되고요.
또 위 쿼리중에 WHERE 절을 제외하면 정상적으로 키가 조인되어 결과가 유니크하게 나옵니다.
양쪽DB다 SQL 2005 Ent x64 버전을 사용하고 있습니다.
혹시 이런 현상을 해결하신분 계시면 도와주십시오.
감사합니다. |