Sql server 2012 Sql Server 2012,发现基于非主键的两个表之间不匹配

Sql server 2012 Sql Server 2012,发现基于非主键的两个表之间不匹配,sql-server-2012,Sql Server 2012,我正在试图找出两个没有主键/唯一键的表之间的差异。在下面的示例中,我需要基于id和id1列连接Table1和Table2,以比较这两个表中的值字段。正如您在下面的示例中看到的,表1的值D与表2的最后一行不匹配 create table Table1 (id int, id1 int, value varchar(10)) create table Table2 (id int, id1 int, value varchar(10)) insert into Table1 values (1,2,

我正在试图找出两个没有主键/唯一键的表之间的差异。在下面的示例中,我需要基于id和id1列连接Table1和Table2,以比较这两个表中的值字段。正如您在下面的示例中看到的,表1的值D与表2的最后一行不匹配

create table Table1 (id int, id1 int, value varchar(10))
create table Table2 (id int, id1 int, value varchar(10))
insert into Table1 values (1,2,'A'),(1,2,'A'),(1,2,'B'),(1,2,'C'),(1,2,'D')
insert into Table2 values (1,2,'A'),(1,2,'A'),(1,2,'B'),(1,2,'C'),(1,2,'C')
表1:

表2:

我希望输出显示两个表之间不同的条目,如下所示:

id          id1         Table1.value   Table2.value
-----------------------------------------------------
1           2           D              C
-----------------------------------------------------

任何帮助都将不胜感激。

我已经尝试了以下代码,但我不确定如果任何表都有重复的select*from select Binary\u Checksumid,id1 B,Value,Row\u Number按Binary\u Checksumid,id1 order by Value asc RID from Table1 L inner join select Binary\u Checksumid,id1 B,Value,行数按二进制校验SUMID、id1按值排序asc RID从表2 N中的L.B=N.B和L.RID=N.RID进行过度分配,其中L.value N.value格式和所需输出的澄清
id        id1      value
----------------------------
1         2          A
----------------------------
1         2          A
----------------------------
1         2          B
----------------------------
1         2          C
----------------------------
1         2          C
----------------------------
id          id1         Table1.value   Table2.value
-----------------------------------------------------
1           2           D              C
-----------------------------------------------------