Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

И снова про удаление запсией [D6, Access]


Виктор ©   (2003-10-01 11:39:00) 

Добрый день, Мастера!

Почему такой запрос SQL удаляет ВСЕ повторяющиеся записи. Нужно только избыточные.

DELETE FROM mytable A
WHERE 1<(SELECT count(*) FROM mytable B
WHERE (A.ULx=B.ULx) AND
(A.ULy=B.ULy) AND
(A.URx=B.URx) AND
(A.URy=B.URy));


Вообщем надо, чтобы запрос удалил лишние записи из таблицы mytable, чтобы четвёрка значений в полях ULx, ULy, URx и URy (тип FLOAT, не ключевые) стала уникальной. Обязательно ли применять в таких случаях составной ключ? Количество записей не большое (около 1000)

Заранее благодарен!


Виктор   (2003-10-01 12:30:00) [1]

> Vlad
Я протестировал данный запрос на другой таблице применительно к целочисленным полям - всё работает. Значит не в запросе дело. Может каким-то образом FLOAT оказывает своё влияние... не знаю. Буду разбираться дальше. Одно я понял - запрос верный!Меня настораживало предложение FROM. С этими A и B...

> Значит эти 9 записей былы избыточными

Нет. Повторов 9 из них 5 избыточных записей. Согласись, это можно и вручную сосчитать ;)

Всё равно, спасибо тебе, Vlad!

На этом ветку считаю закрытой.


Sandman25   (2003-10-01 12:18:00) [2]

Возможно, Access работает иначе и действительно удалит все повторяющиеся записи. Еслди так, то нужно писать другие запросы :)


Vlad   (2003-10-01 12:10:00) [3]

Значит эти 9 записей былы избыточными. Не понимаю, в чем вопрос.


Виктор   (2003-10-01 12:00:00) [4]

> Vlad

Читал Вашу ветку про 12 млн записей... Здорово... НО

Составил я запрос в Аксессе на повторы, который выдал 9 записей. Запускаю этот запрос... выдаётся окошко, мол сейчас удалю 9 записей! Это как? Получается окошко врёт!


Vlad   (2003-10-01 11:46:00) [5]

Составной ключ нужен лишь для повышения быстродействия. Хотя в твоем случае (1000 записей) можно и не применять.
Удаляются только избыточныезаписи


Наверх

Титульная страница Поиск, карта сайта Написать письмо