问题描述
我已经有了以下查询,向我展示了两个表之间的区别,我需要找出的是哪些列不同,有什么办法
select * from [10.150.31.22].[database_a].[dbo].[table_a]
except
select * from [10.143.31.29].[database_b].[dbo].[table_b]
我需要这样的东西:
解决方法
尝试一下:
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);