【问题标题】:Matching databases data匹配数据库数据
【发布时间】:2011-10-25 08:28:50
【问题描述】:

我有两个具有相同表结构但数据不同的 SQLite(MySQL 也可以)数据库,我必须从一个中获取所有行并一一检查它们是否完全(相同的数据)包含在第二个。

我需要这样做以获得最终的是/否/部分报告(在第二步中,在第二个数据库中插入“否”并更新“部分”)。

有人知道是否有“聪明”的方法来做到这一点?

【问题讨论】:

    标签: mysql database sqlite comparison matching


    【解决方案1】:
    SELECT COUNT(*) num_mismatch
    FROM table1 JOIN table2 ON (..whatever the unique ID you use for matching is...)
    WHERE table1.col1 != table2.col1 OR table1.col2 != table2.col2 OR ......etc.
    

    如果 num_mismatch 不为 0,则表示不匹配。您还可以更改 COUNT(*) 以输出不匹配的 ID。也可以使用NOT EXISTS 并在出现不匹配时更快地返回,因为它会在第一次不匹配后停止检查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-29
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      • 2018-10-09
      • 2014-10-25
      • 1970-01-01
      相关资源
      最近更新 更多