如何比较一个数据表中的两列与另一个数据表中的另外两列?

时间:2017-02-18 05:32:52

标签: javascript mysql sql datatable bigdata

我现在正在处理一个处理大数据的项目。我们从客户端获得大量数据,说大约600万个数据,我们处理它们以对齐它们并填充零空间并产生最终结果。

但是,有必要检查我们是否在此过程中丢失任何数据或混合数据。

  

所以故事就像数据表中说的那样表1我有两列   命名部分和客户。这我想与处理过的比较   数据表说表2包含newpart和new clients列。这里   数据不是强制性的,也不是相同的顺序,也是表2   将添加其他列。

这里的问题是如何将这600万个数据与最高准确度进行比较?有没有任何开源工具来做到这一点。 ?任何参考视频或期刊?

1 个答案:

答案 0 :(得分:0)

我希望partclient的组合在每个表格中都是唯一的吗?我还假设您在每张桌子上(part, client)都有一个主要的唯一索引。

CREATE TEMPORARY TABLE t ( PRIMARY KEY(part, client) )
    SELECT part, client FROM table1;
INSERT INTO t
    SELECT part, client FROM table2;

现在,您有两个表中所有部分客户端对的列表。

这将找到table1中缺少的那些:

SELECT part, client
    FROM t
    LEFT JOIN table1  USING(part, client)
    WHERE part IS NULL

此处有变体,但可能的关键是LEFT JOIN ... IS NULL