Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2013, 10:08   #1
sir.andrey
Форумчанин
 
Регистрация: 06.12.2009
Сообщений: 380
Радость SQL удаление строк

Здравствуйте.

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

Я делаю это все в MS ACCESS.

И к сожалению аксесс не дает искать по двум полям.

Как по другому, я даже и не знаю.

Код:
delete * From Дети
Where (Дети.НомерСвОРождении, Дети.Дата) NOT IN
 (SELECT distinct Дети.НомерСвОРождении, ДЕти.Дата FROM Дети)
sir.andrey вне форума Ответить с цитированием
Старый 10.05.2013, 10:42   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Удаление дублей разовая операция?
Тогда просто без дублей перепиши в временную таблицу, а оттуда в исходную, удалив все записи что были.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.05.2013, 10:42   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Удаление дублей разовая операция?
Тогда просто без дублей перепиши в временную таблицу, а оттуда в исходную, удалив все записи что были.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.05.2013, 10:51   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Разово можно так попробовать. Как ACCESS к этому отнесется не проверял
Код:
DELETE FROM Дети
  WHERE (SELECT COUNT(*)
           FROM Дети D
           WHERE D.НомерСвОРождении=Дети.НомерСвОРождении AND D.Дата=Дети.Дата)>1
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.05.2013, 11:26   #5
sir.andrey
Форумчанин
 
Регистрация: 06.12.2009
Сообщений: 380
Радость

Цитата:
Сообщение от Аватар Посмотреть сообщение
Разово можно так попробовать. Как ACCESS к этому отнесется не проверял
Код:
DELETE FROM Дети
  WHERE (SELECT COUNT(*)
           FROM Дети D
           WHERE D.НомерСвОРождении=Дети.НомерСвОРождении AND D.Дата=Дети.Дата)>1
Спасибо.

Но здесь он удалит не только дубли, а вообще все записи, количество которых более 1.
sir.andrey вне форума Ответить с цитированием
Старый 10.05.2013, 11:34   #6
tools
Форумчанин
 
Регистрация: 07.10.2008
Сообщений: 213
По умолчанию

Способов удалить дубли - куча, статей в Интернете - миллион.

http://lmgtfy.com/?q=sql+remove+duplicates

Вот, например, Access : http://www.access-programmers.co.uk/...d.php?t=205134
tools вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление строк из БД katerina_lili C# (си шарп) 2 09.11.2012 17:08
Удаление строк Zelenaya Microsoft Office Excel 6 26.09.2012 09:55
перенос строк удаление ненужных строк HelperAwM Microsoft Office Excel 5 26.06.2010 18:42
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) Schutze Помощь студентам 6 29.11.2009 22:15
удаление строк Dime_x Microsoft Office Excel 2 07.10.2008 13:38