powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поиск расхождений в двух таблицах!!!
7 сообщений из 7, страница 1 из 1
Поиск расхождений в двух таблицах!!!
    #32284531
-=Guest=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте господа, такой вот вопросик у меня.
Есть две таблицы с разным количеством записей,
например table1 и table2, но по структуре совершенно
одинаковые (обе имеют поля Код, Var, Text), допустим с
таким набором данных:

table1
--------
1_100_text1
2_200_text2
3_300_text3
4_400_text4
5_500_text5
6_600_text6

table2
--------
1_400_text4
2_500_text5
3_600_text6

Задача вроде как простая: найти в этих таблицах
различия по полю Var.
(в данном примере должны получится поля с кодами 4,5,6).

Как это реализовать на Accessе, чтобы все это работало
быстро??? Стандартный "тупой" запрос на выборку
с условием вроде table1.Var <> table2.Var не проходит,
да и понятно, таблицы разной длины, Акцесс не знает что
с чем сравнивать и как следствие подвисает.
Прямой перебор и сравнение на Бейсике не предлагать -
слишком долго (реально в таблицах будет десятки тысяч записей).

Если кто реально с этим сталкивался и решал
данную задачку, поделитесь советом, буду весьма признателен.
Ну или хотябы ткните носом в какую-нибудь ссылку.
Чую, нужно что-то вроде хитрого запроса на обьединение,
но как его сделать , что-то сообразить немогу.
Заранее спасибо!!!
...
Рейтинг: 0 / 0
Поиск расхождений в двух таблицах!!!
    #32284534
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, так:

Select *, table2.var as ttt from table1 left joij table2 on table1.var=table2.var where ttt is null;
...
Рейтинг: 0 / 0
Поиск расхождений в двух таблицах!!!
    #32284540
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Невнимательно прочитал.
Тогда так:

Select table1.*, table2.var as ttt from table1 left joij table2 on table1.var=table2.var where ttt is null
union all
Select table2.*, table1.var as ttt from table2 left joij table1 on table2.var=table1.var where ttt is null;
...
Рейтинг: 0 / 0
Поиск расхождений в двух таблицах!!!
    #32284553
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Задача вроде как простая: найти в этих таблицах
>различия по полю Var.

Допустим....

>(в данном примере должны получится поля с кодами 4,5,6).
А вот здесь не пойму, вроде значения поля Var в данных записяx имеются в table2?

Видимо, надо уточнить условие для таких бестолковых как я...

Может вам поможет создание запроса мастером "Записи без подчиненных"?
...
Рейтинг: 0 / 0
Поиск расхождений в двух таблицах!!!
    #32284604
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задавался недавно практически таким же вопросом. Мне надо было объединить две одинак. (по струтуре, но разные по кол-ву записей и по содераж.) таблицы. Объединить надо было по колю - Код, а вывести в итоге все записи, котороые не совпадают по полю Сальдо, сложность было в том, что показать надо было конечно и те записи, которые отсутствовали в противоположной записи. \r
Вот само обсуждение:\r
/topic/47396&hl=\r
\r
Т.е. твоя задача по сути - полное внешнее объединение с выборкой только несовпадающих по опередел. полю:\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
\r
SELECT *\r
FROM T1 LEFT JOIN T2 ON T1.id=T2.id\r
WHERE (T1.S<>T2.S) OR (T2.S Is Null)\r
UNION\r
SELECT *\r
FROM T1 RIGHT JOIN T2 ON T1.id=T2.id\r
WHERE (T1.S<>T2.S) OR (T1.S Is Null)\r
\r
Поля: T1.id, T2.id - ключевые, по ним объединяем; T1.S, T2.S - по этим полям ищем различия.
...
Рейтинг: 0 / 0
Поиск расхождений в двух таблицах!!!
    #32284609
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин. :)
<<которые отсутствовали в противоположной записи.
на:
которые отсутствовали в противоположной таблице.
...
Рейтинг: 0 / 0
Поиск расхождений в двух таблицах!!!
    #32284668
-=Guest=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ооо, спасибо бешенное. Щас бум. пробовать.

ЗЫ. А прикольный вирусяка мог получитсмя из подобного зависания, особенно если такой запрос куданить в автозапуск запихать )
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поиск расхождений в двух таблицах!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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