我在SQL中有两个类似的mysql表,我想确定哪些行是不同的。有人可以帮我解决问题吗?...谢谢
答案 0 :(得分:0)
我希望每个记录或每个记录的唯一键都有主键,其他字段可能不同。因此,您可以检查哪些记录不相同。
select A.<Primary_key/Unique_key>,
A.<rest of the columns>,
B.<rest_of the columns>
from Table A , Table B
where A.<primary_key/Unique_key)>=B.<Primary_key/unique_key>
and concat(A.field2,'|',A.field3,'|',A.field4) <>
concat(B.field2,'|',B.field3,'|',B.field4)
;
很容易连接并同时比较所有字段,或者您可以按如下方式分别比较每个字段:
select A.<Primary_key/Unique_key>,
A.Field2,A.Field3,A.Field4,
B.Field2,B.Field3,B.Field4
from Table A , Table B
where A.<primary_key/Unique_key)>=B.<Primary_key/unique_key>
and ( A.Field2 <> B.Field2 OR
A.Field3 <> B.Field3 OR
A.Field4 <> B.Field4 );
我希望这会有所帮助。
这是工具:https://www.red-gate.com/products/mysql/mysql-data-compare/index - 这将比较对象和数据。