2014-05-12 34 views
0

我需要帮助来计算两个结果集之间的差异。使用SQL Server 2008查找2个结果集之间的差异

的数据集看起来像:

表1:submissions

SubmissionID | TransID | Code 
------------------------------- 
s1    u1  code1 
s1    u2  code2 
s1    u3  code3 
s2    u4  code1 
s2    u5  code3 
s3    u6  code1 

表2:resubmissions

resubmissionID | SubmissionID | TransID | Code 
----------------------------------------------- 
s11    s1    u1  changed1 
s11    s1    u2  changed2 
s22    s2    u4  changed1 
s22    s2    u5  code3 
s33    s3    u6  code1 

的预期成果被计数TransID与改变的代码,请注意它可能包含没有更改的代码,并且我正在使用SQL Server 2008

目前我写了一个查询,以加入本品2个表:

select * from 
submissions s inner join resubmissions r 
on s.submissionid = r.resubmissionid 
and s.TransID = r.TransID 
and s.code <> r.code 

,我们可以使用情况,以检查是否更改代码或不是,但它是我展示冗余值

submissionid claimcode type code  ResubmissionID submissionid claimcode type code 
7863   OCR   S  E86.0 18697   7863   OCR   P  K52.9 
7863   OCR   P  K52.9 18697   7863   OCR   S  E86.0 

请建议

问候,

+3

我们展示**您的努力,到目前为止**这是不是*编写代码为我*服务 - 我们会很乐意帮助,如果你有什么事情,你就完蛋了... –

+1

已更新,谢谢 –

+1

将此更改为'on s.submissionid = r.submissionid' –

回答

0

尝试以下查询:

选中TRANSID
FROM提交
WHERE代码<>(SELECT代码补交WHERE submissions.TransID = resubmissions.TransID)

注意:此查询列出只有改变代码的所有TRANSID。 (即U1,U2,和U4)