Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск идеала . / 8 сообщений из 8, страница 1 из 1
23.08.2001, 00:06
    #32012573
Andir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск идеала .
как можно удалять записи с дублирующимися полями .
Я тут придумал одно, но оно слишком криво получилось, может кто знает покрасивше ?
...
Рейтинг: 0 / 0
23.08.2001, 02:09
    #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
23.08.2001, 02:29
    #32012583
svz58
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск идеала .
Можно через UNION
Select * Into #t From (Select * From table Union Select * From table)
Останутся только различные записи, т.е. выкинутся только совпадающие полностью!!!
Затем старую удаляем, а временную на ее место
...
Рейтинг: 0 / 0
23.08.2001, 07:48
    #32012625
Поиск идеала .
В реляционных базах дублирующихся записей быть не может. Так как в каждой таблице есть Primary Key, который дублироваться не может по определению. А если Primary Key отсутствует, то база спроектирована не по реляционному принципу и, соответственно, делаем выводы и переделываем базу.
...
Рейтинг: 0 / 0
23.08.2001, 08:26
    #32012639
ivans
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск идеала .
В Аксессе есть в мастере запросов запрос на поиск записей с повторяющимися полями.
Вот что он делает:

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

Теперь кидаешь этот запрос в курсор и вытаскивая записи из курсора
по одной в цикле удаляешь их из [Таблица с повторяющимися полями]
Вопрос только в том какую из повторяющихся записей удалять?
...
Рейтинг: 0 / 0
23.08.2001, 08:26
    #32012641
Andir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск идеала .
Я имел ввиду с дублирующимися полями .
...
Рейтинг: 0 / 0
23.08.2001, 08:51
    #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
23.08.2001, 10:28
    #32012666
Alexander Chepack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск идеала .
Я бы через Union делал ...
А если о поиске идеала, то многим нравятся блондинки, 90-60-90
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск идеала . / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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