powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск идеала .
8 сообщений из 8, страница 1 из 1
Поиск идеала .
    #32012573
Andir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как можно удалять записи с дублирующимися полями .
Я тут придумал одно, но оно слишком криво получилось, может кто знает покрасивше ?
...
Рейтинг: 0 / 0
Поиск идеала .
    #32012578
Slava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
declare @tmp table(YourFields)
insert into @tmp {select distinct(Yourfield) from ... | select YuorFields from YourTable gropu by YourFileds}
delete YourTable
insert into YourTable select * from @tmp
Я не проверял. Наверняка где-то в синтаксисе ошибся. Проверьте. Ну так же Вам надо решить по каким полям группировку делать(если у вас запись не полностью дублируется)
...
Рейтинг: 0 / 0
Поиск идеала .
    #32012583
svz58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно через UNION
Select * Into #t From (Select * From table Union Select * From table)
Останутся только различные записи, т.е. выкинутся только совпадающие полностью!!!
Затем старую удаляем, а временную на ее место
...
Рейтинг: 0 / 0
Поиск идеала .
    #32012625
В реляционных базах дублирующихся записей быть не может. Так как в каждой таблице есть Primary Key, который дублироваться не может по определению. А если Primary Key отсутствует, то база спроектирована не по реляционному принципу и, соответственно, делаем выводы и переделываем базу.
...
Рейтинг: 0 / 0
Поиск идеала .
    #32012639
ivans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Аксессе есть в мастере запросов запрос на поиск записей с повторяющимися полями.
Вот что он делает:

SELECT DISTINCTROW * FROM [Таблица с повторяющимися полями]
WHERE ((([Повторяющееся поле]) In (SELECT [Повторяющееся поле]
FROM [Таблица с повторяющимися полями] As Tmp
GROUP BY [Повторяющееся поле] HAVING Count(*)>1 )))

Теперь кидаешь этот запрос в курсор и вытаскивая записи из курсора
по одной в цикле удаляешь их из [Таблица с повторяющимися полями]
Вопрос только в том какую из повторяющихся записей удалять?
...
Рейтинг: 0 / 0
Поиск идеала .
    #32012641
Andir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я имел ввиду с дублирующимися полями .
...
Рейтинг: 0 / 0
Поиск идеала .
    #32012648
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю что одну запись из сдублированных надо оставить.
Существует несколько способов, все они несколько убогие(каждый по-своему).
К предложенному Slavой можно добавить например такой:

Допустим таблица tbl, ключевое поле key, заданное поле fld(по которому записи и сдублированы).
delete t1
from tbl t1, tbl t2
where t1.fld=t2.fld and t1.key<t2.key
...
Рейтинг: 0 / 0
Поиск идеала .
    #32012666
Alexander Chepack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы через Union делал ...
А если о поиске идеала, то многим нравятся блондинки, 90-60-90
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск идеала .
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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