首页 > 解决方案 > 如何通过多列理想地组合具有不同主键的两个表 HASH

问题描述

我有两张世界国家独立日的表格,我想将它们组合成一张具有不同 ID 的表格,但它们使用不同的主键,任何建议将不胜感激。请求摘要:如何组合具有不同主键但其他字段相同的两个表并理想地删除重复字段哈希匹配和删除重复项

预期结果 这将包括两个表格中的所有独特国家,请一个表格可能有更多国家,我们希望确保我们从每张表格中获取所有不同的国家。理想情况下,该解决方案可能类似于 SQL 中的哈希匹配运算符,它实现了几种不同的逻辑操作,这些操作都使用内存中的哈希表来查找匹配数据。提前谢谢了

需要合并的两张桌子的图像。

在此处输入图像描述

标签: sqlhashhashtablehashcode

解决方案


你似乎想要full join

select a.*, b.*    -- select the columns you want
from a full join
     b
     on a.country = b.country;

如果要分配新的唯一 ID,请使用row_number()

select row_number() over (order by coalesce(a.country, b.country)) as new_id,
       a.*, b.*    -- select the columns you want
from a full join
     b
     on a.country = b.country;

推荐阅读