0
특정 EmpID에 대해 다른 해시 값을 사용하여 레코드를 삽입해야하는 요구 사항이 있습니다. 다음은 스테이징 및 마스터 레코드의 일부 샘플 값입니다. 스테이징은 매주 값을 가져오고 ID 및 해시 값에 따라 마스터에 값을 삽입해야하며 모든 레코드가 처리 될 때 테이블이 잘립니다.데이터를 가져 오는 SQL 서버 쿼리
Week 1 in staging: EMpd ID Hash Value
1000 1; 2000 2
2 records gets inserted in master
Week2 in staging: EMPID hashvalues
1000 -3
2000 2
3000 5
Master should have 1000 1;1000 -3; 2000 2; 3000 5
Week 3 in staging: EMPID hashvalues
1000 -5
2000 -9
3000 5
Master should have 1000 1;1000 -3; 1000 -5;2000 2; 2000 -9;3000 5
I have tried doing
insert into EMP_MASTER (EMPID,EMPNAME,hashValue)
select mas.*,stg.hashvalue FROM [EMP_master] mas (nolock)
INNER JOIN [EMP_staging] stg (nolock) ON mas.EMPID = stg.EMPID
WHERE mas.hashvalue != stg.hashvalue and not exists
(select 1 from [EMP_Master](nolock)
where EMPID=stg.EMPID and hashValue=stg.hashvalue) order by EMPID;
이렇게하면 1000이라는 값이 중복됩니다. 아무도 도와 줄 수 있습니까? 감사합니다. MR