Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как сравнить две таблицы? / 3 сообщений из 3, страница 1 из 1
15.04.2017, 09:25
    #39439054
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сравнить две таблицы?
Есть клиент на c#, он создает базу (в памяти или на диске), и пишет в таблицу полные пути файлов, полученные от удаленного сервиса.
Затем он пишет во вторую таблицу пути к файлам, полученные от другого сервиса.

Задача - сравнить и выдать совпадающие, отличающиеся списки файлов.
При большом количестве это длинный процесс - сравнивать две большие таблицы.
Чего хотелось бы: прикрутить в обе таблицы поле hash, считать его и затем использовать в сравнении.

Как лучше? Триггер? расширение в c#?
Может какй-то другой подход?
...
Рейтинг: 0 / 0
17.04.2017, 19:15
    #39439814
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сравнить две таблицы?
начни играться с чего-нибудь вроде:

Код: sql
1.
2.
3.
select table1.path,
   (select 'Exists!' from table2 where table1.path=table2.path limit 1)
from table1


добавить индекс на table2.path.
...
Рейтинг: 0 / 0
18.04.2017, 07:59
    #39439940
pit_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сравнить две таблицы?
Ролг Хупин,

как вариант для совпадающих

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
with t1 as (
select 'c:\tmp\dir1' as path
union
select 'c:\tmp\dir2' as path
union
select 'c:\tmp\dir3' as path
),
t2 as
(
select 'c:\tmp\dir1' as path
union
select 'c:\tmp\dir4' as path
union
select 'c:\tmp\dir3' as path)
select * from t1
intersect
select * from t2
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как сравнить две таблицы? / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]