【发布时间】:2014-09-25 09:51:32
【问题描述】:
我需要比较两个表的行,并且只显示具有不同数据的列,即表中的数据不匹配。假设表 1 和表 2 有 50 列,并且只有错误记录为 5,那么库需要进入 Select 语句.
比较部分通过联合查询完成,我的障碍是如何想出错误的行列名称。
【问题讨论】:
-
分享您的表结构和数据
-
到目前为止你已经得到了什么
-
嗨,吉姆,到目前为止,我能够从两个表中获取不匹配的数据,但我需要 select 语句中唯一错配的列
-
AK、My table1 和 Table2 具有除主键外的所有 varchar(Max) 数据类型的列。喜欢:
-
选择语句总是产生一组给定的列。因此,不能通过查询来找出哪些列有差异并只显示那些。也许您应该简单地使用带有 GUI 的编程语言,您可以在其中选择两个表,然后逐条比较记录并用差异填充 GUI 网格。如果您想坚持使用 SQL:您可以选择包含差异的字符串,例如 'id 30: col2 = "ABC" vs ""DEF" , col26 = 13 vs 12'。但是您的查询必须逐个字段进行比较为了构建那个字符串。
标签: sql sql-server join union