我有 1000 万的 CSV 文件。记录,我需要检查文件中的所有值是否与 SQL DB 中的相同。我不需要返回 true 或 false,我还需要知道有多少不匹配(如果有的话)以及哪些可能通过某些选择而不相同。
我的问题是什么是最快的方法,到目前为止可能是手动完成的(正如我所看到的,有一个将 csv 导入到 sqlite 的选项),但稍后我需要以编程方式完成。
我应该从 csv 创建新的数据库,然后用其他数据库检查它吗?
我想这应该通过一些内部/外部连接等来完成。有什么想法吗?
我有一个非常简单的想法,但它不起作用:
select Email_Address from eloqua_export where Email_Address != (select Email_Address
from eloqua_export_duplicate)
它返回我所有的电子邮件地址,即使它们在两个表中相同......
最佳答案
!=
比较单个值,因此只需要子查询的第一行。
要与集合中的所有值进行比较,请使用 IN:
select Email_Address
from eloqua_export
where Email_Address not in (select Email_Address
from eloqua_export_duplicate);
select Email_Address
from eloqua_export_duplicate
where Email_Address not in (select Email_Address
from eloqua_export);
关于java - 如何检查 CSV 记录是否与 SQLite 中的记录相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24990108/