unix: сравнить две таблицы с unique_id совпадения обеих таблиц - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть 2 таблицы, где будут совпадать уникальные идентификаторы обеих таблиц.Сравнение обеих таблиц приведет к выделенным несоответствиям данных в каждом столбце на основе уникального идентификатора.Пример как показано ниже:

Таблица A: введите описание изображения здесь

Таблица B: введите описание изображения здесь

Результат: введите описание изображения здесь

Unique_id должен сыграть здесь важную роль.Если не найдено ни одного уникального идентификатора, результаты должны выдавать пустые / пустые записи.Любая идея о том, как я могу решить это?

1 Ответ

0 голосов
/ 30 ноября 2018

файл: 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
...