微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决比较两个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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。