假设表结构为:
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
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
解决方案 »
- 求救sql
- 按另外一个表中某个id的记录数对现有表进行排序,如何写这个sql。
- sql 去除重复字段
- 多表数据的关联
- 关于DataSet数据集的问题
- 菜鸟求助
- exec master..xp_sendmail发邮件提示成功却收不到邮件
- 怎么把数据库A的表格复制到数据库B呢。
- sql server中自定义的存储过程能否像SUM()在select语句中调用?急!!
- 有没有碰到过像这样的问题:“有几个表,这些表是关联的,表之间也有on delete cascade的约束,(现在要删除两条记录Record A 和 Record
- 帮忙看看这个日期该如何处理
- 一个困扰多时关于UPDATE的问题(请高手解决)
union
select * from 表2
如果重复的记录也会出一次,但是楼主是要求不出现。子陌红尘的方法很好。想不出更好的方法。
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 连接还不清除该如何测试呢!