比较没有外键列的SQL数据库表值

时间:2015-01-22 07:59:50

标签: sql sql-server sql-server-2012

您好我在不同的数据库中有两个表。

数据库名称:Database1
表名:员工

数据库名称:Database2
表名:员工

在Database1中,我将员工表作为

EmpSno  EmployeeID  EmployeeName    DeptID  DeptName

1           1           A             1     Technical
2           2           B             2     NonTechnical
3           3           C             3     Administration

在Database2中,我将员工表作为

EmpSno  EmployeeID  EmployeeName    DeptID  DeptName

1           4           A             4     Technical
2           5           B             5     NonTechnical
3           6           C             6     Administration

在上面的两个表中,我们有相同的数据,但EmployeeID,DeptId列不同,因为它的主表(EmployeeMaseter,DeptMaster)中的列具有不同的Id。

实际上表之间没有区别。有没有可以实现这一目标的数据库比较工具。它不应该表明两个表之间存在差异。

注意:使用SQL Server 2012

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以手动完成并忽略标识列吗?

仅基于名称字段创建查询,并使用“除外(两次)”来查找差异。

例如:

SELECT EmployeeName,DeptName FROM Database1.dbo.TableSomething 除了 SELECT EmployeeName,DeptName FROM Database2.dbo.TableSomething

以及(他们之间的联盟):

SELECT EmployeeName,DeptName FROM Database2.dbo.TableSomething 除了 SELECT EmployeeName,DeptName FROM Database1.dbo.TableSomething

这将为您提供所有差异。