|
Модераторы: Akella |
|
Akella |
|
||||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
В базе есть 2 связанные таблицы.
Проблема в том, что хочу составить запрос, который удалит дубликаты из левой таблицы. Нужно удалить все названия "Аверс", оставить только одну любую запись, не важно какую. Все телефоны из правой таблицы, которые на всех удаляемых "Аверс`ах" перенести на ту, запись, которую оставляем. Таких повторений много, поэтому нужно это сделать в цикле, в хранимке. Левая таблица
Правая таблица
Таблицы связаны по ключу. Как видно из скриптов, по полям PHONES.ID_MEDIATOR и MEDIATORS.ID |
||||
|
|||||
Romkin |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 189 Регистрация: 14.11.2006 Где: Москва Репутация: 1 Всего: 5 |
1. for select Посредники, min(ID)
2. в цикле update для телефонов set ID = <minID> где их ID in (select ID from Посредники where Посредник = <переменная>) 3. все, осталось удалить дублирующихся посредников. Примеры запросов есть на ibase.ru Так достаточно? |
|||
|
||||
Akella |
|
|||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
наверное
Добавлено @ 12:22 вроде оно
Это сообщение отредактировал(а) Akella - 15.12.2006, 12:32 |
|||
|
||||
Akella |
|
|||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
Romkin |
|
||||
Бывалый Профиль Группа: Участник Сообщений: 189 Регистрация: 14.11.2006 Где: Москва Репутация: 1 Всего: 5 |
Почему? Это ты неизвестно чего делаешь своим запросом
Поле обновляешь тем же значением
Подзапрос возвращает четко только значения NEW_VAR Вот так примерно должно быть:
Советую индексировать m.name - будет быстрее |
||||
|
|||||
Akella |
|
|||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
спасибо, с меня +
|
|||
|
||||
Правила форума "Interbase" | |
|
Обязательно указание: 1. Версию InterBase (Firebird, Yaffil) 2. Способа доступа (ADO, BDE, IBX и т.д.)
Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Firebird, Interbase | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |