繁体   English   中英

您如何比较具有相同列但顺序不同(SQL 或 Python)的两个表?

[英]How do you compare two tables with the same columns but in a different order (SQL or python)?

我试图找出如何查看两个表在 sql 中是否相同。 表格应该完全相同,但列的顺序略有不同。 我最初的想法是从彼此中减去两个表并验证结果是否为 0 条记录,但我认为这不会起作用,因为列顺序不同。 有什么建议? 非常感谢您的帮助,

谢谢,

约翰

如果您想要比较表格,您可以尝试以下操作; minusexcept取决于您的数据库管理系统使用的 SQL。

select * from tableA
minus
select * from tableB

如果查询没有返回任何行,则两个表的数据相同,现在如果两个表的行数相同,这将起作用。

在比较两个不同列大小的不同条目时,您需要使用

LEFT JOIN 

有一些源材料可供您参考:

联盟! 数据库服务器

比较具有不同条目和列的两个表

可能不是您正在寻找的答案,但您可以创建一个视图并从那里选择匹配顺序中的列。 那么比较应该更容易。

您可以对每个字段执行完全外连接,然后将结果的长度与两个原始表的长度进行比较。

SELECT * from 
Table_A FULL OUTER JOIN
Table_B on 
A.Field_X = B.Field_X
A.Field_Y = B.Field_Y

如果视图返回的结果数与两个原始表的长度相同,则这两个表对于这些字段是相同的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM