比较两个sql表并显示哪些列不同

问题描述

我已经有了以下查询,向我展示了两个表之间的区别,我需要找出的是哪些列不同,有什么办法

select * from [10.150.31.22].[database_a].[dbo].[table_a]
except
select * from [10.143.31.29].[database_b].[dbo].[table_b]

我需要这样的东西:

enter image description here

解决方法

尝试一下:

SELECT A.Id,COALESCE(A.Name,-1),COALESCE(A.Age,COALESCE(B.Name,COALESCE(B.Age,-1)
FROM [10.150.31.22].[database_a].[dbo].[table_a] AS A
LEFT OUTER JOIN [10.143.31.29].[database_b].[dbo].[table_b] AS B
ON A.Id = B.Id
WHERE COALESCE(A.Name,-1) <> COALESCE(A.Age,-1) OR COALESCE(B.Name,-1) <> COALESCE(B.Age,-1);

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...