假设表结构为:
t1(ID int,name varchar(20),age int,desc varchar(20))
t2(ID int,name varchar(20),age int,desc varchar(20))
select 
    a.*
from
    (select distinct * from t1 
     union all
     select distinct * from t2) a
group by
    a.ID,a.name,a.age,a.desc
having 
    count(*) = 1

解决方案 »

  1.   

    union过滤完全重复记录select * from 表1
    union
    select * from 表2
      

  2.   

    vivianfdlpw的方法有问题。
    如果重复的记录也会出一次,但是楼主是要求不出现。子陌红尘的方法很好。想不出更好的方法。
      

  3.   

    我是这样的问题
    A库--旧库
    A1表
    ID,age,name
    B库--新库
    A1表
    ID,age,name
    我要查询的记录:
    1:B库A1表中在A库A1表中没有的记录
    2:A库A1表中在B库A1表中没有的记录
    3:如果1、2都没有记录的话,我就要每个字段进行比对,看那个字段有变化,找出变化的记录1和2我是这么作的
    select B.dbo.A1.* from B.dbo.A1 where not exists (
    select A.dbo.A1.ID from A.dbo.A1 
    where A.dbo.A1.ID = B.dbo.A1.ID )反之,找2的记录3的记录还没有想好这样作有问题么?union 连接还不清除该如何测试呢!