SQLServer比较两表列

首先,问题
两个表有四十个或五十个列,以找到它们相同的列和不同的列。

两。查询两个表的列并有一个临时表

——#,# B是临时表,和当前的连接断开后自动删除
——等级()在(由syscolumns.name倒序)是SQL2005的支持,在每一行记录添加一个自增数
恒等式(int,1,1)函数必须与

1。表格中的列存储在一个表中的#名字-- 'desttbl'comparison

SELECT *为#从(选择等级()在(由syscolumns.name倒序)作为序列号,
从列中,
Where syscolumns.{id}=sysobjects.{id}
{姓名}和sysobjects。= 'desttbl ')T

SELECT * FROM #一

1个名字
2课
3的ID
4段

2。表格中的列存储在# B表的名字-- 'student'comparison

选择序列号=身份(int,1,1),syscolumns.name
为# B中列,
在列。{id} = sysobjects。{id}
{姓名} =和中'student。


SELECT * FROM # B

1的ID
2名
3段

三。各表异同分析比较

使用下面的语句,或者稍微改变一下
SELECT * FROM # B的名字(选择的名字从#一)
不选择*从#一个名字(选择的名字从# B)
SELECT * FROM # A,B,a.name = b.name #
SELECT * FROM #加入# B B对a.name = b.name左