Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> удаление повторяющихся записей 
:(
    Опции темы
zhz
Дата 31.3.2011, 07:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 31.10.2006
Где: Petropavlovsk-Kam chatsky

Репутация: нет
Всего: 2



Имеется таблица (тел справочник) Phones c полями 
id,phone,abonent,street,building,flat,creation_date,who_create,comment
необходимо удалить все записи которые возвращает запрос
select distinct phone,abonent,street,building,flat,comment from Phones
Т.Е. удалить записи дублирующиеся только по определенным полям. Как это правильно сделать? Пробовал по разному, не получилось((
СУБД mssql2000
PM MAIL ICQ   Вверх
Akina
Дата 31.3.2011, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Скопируйте результат запроса в другую таблицу, очистите исходную, переместите записи обратно.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 31.3.2011, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Цитата(zhz @  31.3.2011,  07:04 Найти цитируемый пост)
удалить записи дублирующиеся только по определенным полям

Код

delete from Phones t1 
where exists (
  select null 
  from Phones t2 
  where t1.id < t2.id -- изменить этот критерй на неравнство, если не надо оставлять одной не дублирующейся записи
    and  (t1.phone = t2.phone or t1.phone is null and t2.phone is null)
    and  (t1.abonent= t2.abonent or t1.abonent is null and t2.abonent is null)
    and  (t1.street= t2.street or t1.street is  null and t2.street is null)
...
)


Это сообщение отредактировал(а) Zloxa - 31.3.2011, 11:01


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.