unix:比较两个表的唯一\u id都匹配的表

pcww981p  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(232)

我有两个表,两个表的唯一\u id都将匹配。两个表的比较将产生每一列中突出显示的数据不匹配,以唯一的样本为基础,如下所示;
表a:在此处输入图像描述
表b:在此处输入图像描述
结果:在此处输入图像描述
独特的身份证应该在这里发挥重要作用。如果不存在唯一匹配的\u id,结果应抛出空/空记录。你知道我怎么解决这个问题吗?

k97glaaz

k97glaaz1#

文件: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

相关问题