首页 > 解决方案 > unix:比较两个表与两个表匹配的unique_id

问题描述

我有 2 个表,两个表的 unique_id 都将匹配。两个表的比较将根据 unique_id 产生突出显示的每列中的数据不匹配。示例如下;

表 A: 在此处输入图像描述

表 B: 在此处输入图像描述

结果: 在此处输入图像描述

Unique_id 应该在这里发挥重要作用。如果没有 unique_id 匹配存在,结果应该抛出空/空记录。知道如何解决这个问题吗?

标签: validationunixhivescriptingcompare

解决方案


文件:t1.csv

maria;22;us
bryon;23;uk
alex;24;aus

文件:t2.csv

maria;22;us
bryon;24;uk
alex;24;aus

文件:test.sh

#!/bin/sh
sqlite3 <<EOF
create table t1 (id,a,b);
create table t2 (id,a,b);
.separator ;
.import $1 t1
.import $2 t2
select t1.*,' <-> ', t2.*
  from t1
  left join t2 on t1.id = t2.id
  where t1.a <> t2.a
     or t1.b <> t2.b
     or t2.id is null;
EOF

如何使用:

$ bash  test.sh  t1.csv  t2.csv
bryon;23;uk; <-> ;bryon;24;uk

但还要检查 t1.csv 中的空行

$ bash  test.sh  t2.csv  t1.csv

推荐阅读