|
|
|
Поиск расхождений в двух таблицах!!!
|
|||
|---|---|---|---|
|
#18+
Здраствуйте господа, такой вот вопросик у меня. Есть две таблицы с разным количеством записей, например 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 не проходит, да и понятно, таблицы разной длины, Акцесс не знает что с чем сравнивать и как следствие подвисает. Прямой перебор и сравнение на Бейсике не предлагать - слишком долго (реально в таблицах будет десятки тысяч записей). Если кто реально с этим сталкивался и решал данную задачку, поделитесь советом, буду весьма признателен. Ну или хотябы ткните носом в какую-нибудь ссылку. Чую, нужно что-то вроде хитрого запроса на обьединение, но как его сделать , что-то сообразить немогу. Заранее спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2003, 09:34 |
|
||
|
Поиск расхождений в двух таблицах!!!
|
|||
|---|---|---|---|
|
#18+
Например, так: Select *, table2.var as ttt from table1 left joij table2 on table1.var=table2.var where ttt is null; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2003, 09:39 |
|
||
|
Поиск расхождений в двух таблицах!!!
|
|||
|---|---|---|---|
|
#18+
Невнимательно прочитал. Тогда так: 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; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2003, 09:41 |
|
||
|
Поиск расхождений в двух таблицах!!!
|
|||
|---|---|---|---|
|
#18+
>Задача вроде как простая: найти в этих таблицах >различия по полю Var. Допустим.... >(в данном примере должны получится поля с кодами 4,5,6). А вот здесь не пойму, вроде значения поля Var в данных записяx имеются в table2? Видимо, надо уточнить условие для таких бестолковых как я... Может вам поможет создание запроса мастером "Записи без подчиненных"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2003, 09:48 |
|
||
|
Поиск расхождений в двух таблицах!!!
|
|||
|---|---|---|---|
|
#18+
Задавался недавно практически таким же вопросом. Мне надо было объединить две одинак. (по струтуре, но разные по кол-ву записей и по содераж.) таблицы. Объединить надо было по колю - Код, а вывести в итоге все записи, котороые не совпадают по полю Сальдо, сложность было в том, что показать надо было конечно и те записи, которые отсутствовали в противоположной записи. \r Вот само обсуждение:\r /topic/47396&hl=\r \r Т.е. твоя задача по сути - полное внешнее объединение с выборкой только несовпадающих по опередел. полю:\r Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Поля: T1.id, T2.id - ключевые, по ним объединяем; T1.S, T2.S - по этим полям ищем различия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2003, 10:26 |
|
||
|
Поиск расхождений в двух таблицах!!!
|
|||
|---|---|---|---|
|
#18+
Блин. :) <<которые отсутствовали в противоположной записи. на: которые отсутствовали в противоположной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2003, 10:28 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32284609&tid=1679036]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 366ms |

| 0 / 0 |
