| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > СУБД, общие вопросы > Удаление дублирующихся записей из таблицы |
| Автор: Alessias 8.3.2008, 16:27 |
| Есть таблица pass(pid, pname) на пару сотен тысяч записей. нужно очистить ее от повторяющихся значений. не могу придумать правильный запрос. |
| Автор: baldina 8.3.2008, 17:23 | ||
Добавлено через 2 минуты и 24 секунды после этого измени структуру, что бы записи были уникальными - копии добавляться не будут |
| Автор: Alessias 9.3.2008, 12:56 | ||||
У меня СУБД Firebird. IBExpert таких команд как
не понимает. цитата с /www.firebirdsql.org/ "В СУБД Firebird оператор SELECT не позволяет использовать ключевое слово INTO для создания новой таблицы «на лету». Вместо этого, ключевое слово INTO используется для связи результата запроса с переменной." пробовал
но получается, что сочетание pid и pname везде уникальны - и он вставляет повторяющиеся pname. |
| Автор: Alessias 9.3.2008, 15:33 | ||
| В общем решил проблему так. Создал таблицу PASSS_TMP(pname:varchar); дальше
дальше - извлечение метаданных в скрипт, редактировал скрипт на правильную таблицу. pid идет автоинкрементом, вставляются только pname. |
| Автор: Magnifico 9.3.2008, 16:47 | ||
если pid уникальный (а pname только повторяющееся )то удалить дубли можно так
|
| Автор: Deniz 11.3.2008, 07:59 | ||
Magnifico, а ты уверен что такой запрос пройдет в FireBird?
|
| Автор: Magnifico 11.3.2008, 10:30 | ||
| да действительно в firebird 2.0 не проходит можно чуть изменить (имеется ввиду pid уникальный)
|