12 / 12 / 3
Регистрация: 26.11.2010
Сообщений: 147
1

Удаление дублирующих записей в БД

16.01.2012, 13:01. Показов 3317. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Подскажите пожалуйста как удалять одинаковые строчки а точнее удалить все одинаковые кроме одной! Гуглил но не чего не понял там.
на примере:
Есть таблица TABL1 - там 3 колонки: с1,с2,с3.
Так вот если с1 и с3 с какимето строками совподают то надо оставить одну! Мне все равно хоть запросом хоть программным путём! HELP
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2012, 13:01
Ответы с готовыми решениями:

Удаление дублирующих записей с условием
Есть таблица: category(fk_alone,date_start, date_stop, category) fk_alone - вторичный ключ на...

Нахождение дублирующих записей, объединение, удаление
Здравствуйте! Столкнулся с такой проблемой, что надо сделать из двух, практически одинаковых...

Как создать SQL запрос на удаление дублирующих записей?
Надо создать запрос на удаление полностью одинаковых записей по всем столбцам. Но чтобы одна такая...

Как избавиться от дублирующих записей?
Как избавиться от дублирующих записей во многих таблицах Oracle 8.1.7

14
56 / 56 / 10
Регистрация: 27.12.2011
Сообщений: 141
16.01.2012, 16:31 2
Какую СУБД используешь (MySQL, MS Access, MS SQL)?
1
12 / 12 / 3
Регистрация: 26.11.2010
Сообщений: 147
16.01.2012, 16:34  [ТС] 3
стандартную что в комплекте с Microsoft Visual Studio 2008 по моему MS SQL
0
6 / 6 / 0
Регистрация: 21.12.2009
Сообщений: 68
16.01.2012, 18:52 4
Если запросом, то пишешь distinct
SQL
1
SELECT DISTINCT * FROM...
0
12 / 12 / 3
Регистрация: 26.11.2010
Сообщений: 147
16.01.2012, 19:00  [ТС] 5
Это запрос а как чтоб удаляло? HELP
0
16 / 16 / 6
Регистрация: 27.06.2010
Сообщений: 48
17.01.2012, 09:26 6
Вот здесь много написано: http://support.microsoft.com/kb/139444/ru
0
12 / 12 / 3
Регистрация: 26.11.2010
Сообщений: 147
17.01.2012, 11:55  [ТС] 7
Так и не решено!(
0
56 / 56 / 10
Регистрация: 27.12.2011
Сообщений: 141
17.01.2012, 12:00 8
Распиши конкретней задачу, есть база данных в которой есть таблица с некими полями. Ты хочешь разово запускать прогу на C# которая будет удалять строчки, в которых имеются совпадения значений по первому и третьему столбцам? Или ты хочешь чтобы эти дубли не подгружались на форму? Или не знаешь как сделать запрос на удаление из базы данных?
1
12 / 12 / 3
Регистрация: 26.11.2010
Сообщений: 147
17.01.2012, 12:07  [ТС] 9
нет разово запускаешь программу она удалила и всё!! Хелп срочняк надо!
0
12 / 12 / 3
Регистрация: 26.11.2010
Сообщений: 147
19.01.2012, 12:31  [ТС] 10
помогите!
0
56 / 56 / 10
Регистрация: 27.12.2011
Сообщений: 141
19.01.2012, 12:57 11
Тебе принципиально MS SQL Server bcgjkmpjdfnm&

Добавлено через 11 секунд
*использовать
1
12 / 12 / 3
Регистрация: 26.11.2010
Сообщений: 147
19.01.2012, 12:59  [ТС] 12
Ну да база уже 500000 строк!
0
56 / 56 / 10
Регистрация: 27.12.2011
Сообщений: 141
19.01.2012, 12:59 13
просто у меня сейчас стоит MySQL серв, с ним могу помочь, задача быстро делается минут за 10 можно решить
1
12 / 12 / 3
Регистрация: 26.11.2010
Сообщений: 147
19.01.2012, 13:00  [ТС] 14
Глянь тут может что-то разберешь а то я не могу врубиться!
 Комментарий модератора 
ссылка удалена


Добавлено через 37 секунд
Цитата Сообщение от Караман Посмотреть сообщение
просто у меня сейчас стоит MySQL серв, с ним могу помочь, задача быстро делается минут за 10 можно решить
Нормально и на MySQL.
0
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,079
20.01.2012, 16:05 15
Этот вопрос не такой простой как кажется на первый взгляд и простым запросом тут не обойдешься.
Я бы задачу разбил на следующие части:
1. Получить во временную таблицу все дублирующиеся записи по проверяемому на дубли полю (Например, все AccountName, если проверяются названия контрагентов);
2. В цикле wile организовал бы перебор всех значений из временной таблицы.
3. В теле цикла я бы организовал удаление всех дублирующихся записей для текущей AccountName. При этом нужны четкие критерии какую из записей оставить)) (например, все кроме последней созданной, если есть поле CreatedDate)
4. Также дополнительно надо организовать удаление из всех связанных таблиц, чтобы ничего не мешало удалению записей из требуемой таблицы (сложность этой задачи очень сильно зависит от структуры данных).
Думаю, что реализовать такую задачу можно и оптимальнее, но у меня решение на первый взгляд именно такое.
Вообще нужно ставить проверки не допускающие возникновение дублей, но разве можно учесть в этой жизни все).
0
20.01.2012, 16:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2012, 16:05
Помогаю со студенческими работами здесь

Как недопустить дублирующих записей
Возник вопрос. Предположим мне надо сохранять данные с уникальным полем. Кпримеру катировки...

Добавление не дублирующих записей из одной таблицы в другую
Помогите, пожалуйста. Postgresql. Есть две таблицы: Table1 Table2 num num 1 ...

Проверка дублирующих записей в табличной части документа
Всем привет! Мне необходимо выполнить проверку на наличие дублирующих строк в табличной части...

Удаление дублирующих строк в ListBox
Проблема. Я ввожу URL страницы. Программа парсит страницу и вытягивает ее ссылки. Но они могут...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru