![]() |
|
Модераторы: LSD |
![]()
|
|
| Ruselus |
|
|||
|
Unregistered |
Народ, помогите с простым скриптиком плиз.
Задача. Есть 2 таблицы с абсолютно одинаковой структурой. Надо их сравнить и вывести только различии в каждой из них. Простейши пример с одним столбцом (id) select table1.id from table1 where table1.id not in (select table2.id from table2) Но у меня почему-то не работает, видимо не понял принципа. В идеале нужно сравнивать в таблице кучу столбцов, таблицы связаны по полу ID. Заранее фенкс. |
|||
|
||||
| kobra |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: нет Всего: 9 |
запрос правилныи.
что там не работает? |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 3 Всего: 360 |
Какая база данных? В мускуле например вложенных селектов нет.
|
|||
|
||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 8 Всего: 77 |
Тэкс... есть две таблицы с абсолютно идентичным набором столбцов.
Один из столбцов в каждой таблице - айдишка. Нам надо получить строки, которые есть в table1 но нет в table2(идентичными считать строки с одинаковыми айдишками или с абсолютно идентичными значениями всец столбцов?)? Или получить строки, которые с равными айдишками но разными значениями в остальных столбцах? Хотя... если судить по твоему скрипту... Принцип ты понял Интересно узначь что такое "не работает". Может просто оно различий не нашло - поэтому ничего и не вывело? Или ругнулось при компиляции запроса? И если да - что сказало? -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
| Ruselus |
|
||||
|
Unregistered |
Сорри, был не прав. Все работает, но почему-то ОЧЕНЬ долго.
Т.е. 2 массива примерно по 50 000 строк я сравнивал примерно час на сервере с 4-мя Ксеонами по 3,2GHz и 4Gb памяти. Вобщем так и не дождался... =(( Потом сделал немного по другому:
Вот это дело просто летает. Т.е. обрабатывает массив на обычной машине (П4 2,8) примерна за пару секунд. З.Ы. Это все делалось в Аксесе 2002. М.б. его косяк? Вобщем с отсутствующими строками разобрался. Вот еще вопросик. Теперь мне надо эти строки проверить на идентичность. Пока делаю так:
Все работает, причем довольно быстро, не жалуюсь, но грядут таблицы с огромным кол-вом столбцов... И где-то раньше я встречал описание процесса сравнивания строк целиком. Т.е. там в строке то ли все значения объединяется перед сравнением, толи хеш какой-то вычисляется их строки. В общем что-то такое, но как называется не помню. Не подскажете как это делается или хотя бы по каким ключевым словам искать? |
||||
|
|||||
| Ser9a |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 7.3.2005 Репутация: нет Всего: нет |
если к аксессу конектился с дельфей то тормозить будет жутко
|
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Да. Вернее MS Jet. Оптимизация у него ни к черту, он не способен ни понять независимость вложенного запроса, ни закэшировать его.
во тебе не лениво... просто свяжи их по ВСЕМ полям - в отбор попадут только полностью идентичные. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |