特定の EmpID に対して異なるハッシュ値を持つレコードを挿入する必要があるという要件があります。以下は、ステージング レコードとマスター レコードのサンプル値です。ステージングは毎週値を取得し、ID とハッシュ値に応じてマスターに値を挿入する必要があり、すべてのレコードが処理されるとテーブルが切り捨てられます。
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