с помощью запроса удалить дублирующие записи

romanln
Дата: 30.12.2011 10:44:04
Перерыл весь инет но так и не нашел какое нужно поставить условие (((

Таблица Клиент (ключевого поля нет)
2 поля:
Код клиент
Фамилия клиента

Нужно удалить дубликаты записей в поле Код клиента с помощью запроса (в данном случае SQL)
romanln
Дата: 30.12.2011 10:51:10
автор
DELETE Клиент.[Код клиента], Клиент.*
FROM Клиент
WHERE ????;
Анатолий ( Киев )
Дата: 30.12.2011 11:13:21
romanln
Таблица Клиент (ключевого поля нет)
Нужно удалить дубликаты записей в поле Код клиента с помощью запроса (в данном случае SQL)

Если нет ключевого поля, то нет и возможности отличить нужную запись от дублей.
Эту задачу можно решить проходом по Recordset-у с поиском и удалением дублей для каждой текущей записи.
romanln
Дата: 30.12.2011 11:29:55
Анатолий ( Киев ),

а если добавлю счетчик ID
Анатолий ( Киев )
Дата: 30.12.2011 11:39:21
romanln
а если добавлю счетчик ID

Тогда попробуйте так:
SELECT * FROM Клиент WHERE ID Not IN (SELECT Min(ID) FROM Клиент GROUP BY [Код клиент])

Это запрос на выборку. Если результат вас устроит - переделайте на удаление.
studieren
Дата: 30.12.2011 11:39:33
romanln,

Допустим код клиента совпадает, а вот фамилия нет. Тогда какую запись надо оставить, а какую удалить?
romanln
Дата: 30.12.2011 11:41:59
studieren
romanln,

Допустим код клиента совпадает, а вот фамилия нет. Тогда какую запись надо оставить, а какую удалить?


они совпадаю.
romanln
Дата: 30.12.2011 11:43:34
Анатолий ( Киев )
romanln
а если добавлю счетчик ID

Тогда попробуйте так:
SELECT * FROM Клиент WHERE ID Not IN (SELECT Min(ID) FROM Клиент GROUP BY [Код клиент])

Это запрос на выборку. Если результат вас устроит - переделайте на удаление.


он просит ввести код клиента, а можно без ввода обойтись?
Akina
Дата: 30.12.2011 11:49:22
insert into newtable select distinct * from oldtable
Удалить старую, затем переименовать новую.
Анатолий ( Киев )
Дата: 30.12.2011 11:52:45
romanln
он просит ввести код клиента, а можно без ввода обойтись?
"Код клиент" - это имя поля из вашего поста. Или имя другое? :-)))