Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: 2003 Дубликаты
 
 автор: Cerber   (18.08.2009 в 09:23)   личное сообщение
 
 

Помогите
Имеется таблица с дубликатами

Surname DR STATUS_01 Street House Korp Apt SN_POL C_KAT1 C_KAT2 C_KAT_Fixed Date_Start Date_End Map Id_Svaz Date_Start_New
Арам 1929/04/07 ПН - - - - 020019 082 096 096 2004/09/27 2093/01/01 3461 Арам1929/04/07 2004/09/27
Арам 1929/04/07 ПН - - - - 020019 082 096 096 2004/09/27 2093/01/01 3462 Арам1929/04/07 2004/09/27
Арам 1929/04/07 ПН - - - - 020019 082 096 082 1989/07/06 2093/01/01 3461 Арам1929/04/07 1989/07/06
Арам 1929/04/07 ПН - - - - 020019 082 096 082 1989/07/06 2093/01/01 3462 Арам1929/04/07 1989/07/06
БРАМ 1922/12/14 ПН Рытикова 3 - 31 200396 011 000 082 1987/11/12 2093/01/01 232 БРАМ1922/12/14 1987/11/12
БРАМ 1922/12/14 ПН Рытикова 3 - 31 200396 011 000 011 1989/11/12 2093/01/01 232 БРАМ1922/12/14 1989/11/12
БРАМ 1922/12/14 ПН Рытикова 3 - 31 200396 011 000 020 1996/12/19 2093/01/01 232 БРАМ1922/12/14 1996/12/19
Рамо 1929/02/12 ПН Либкнехта 15 - 11 963 Рамо1929/02/12
ФРАМ 1942/02/10 ПН Большая 32 - - 200296 082 000 082 1999/01/05 2093/01/01 1973 ФРАМ1942/02/10 1999/01/05

Как выбрать из группы дубликатов записи по столбцу Date_Start с самой ранней датой и перенести данные в другую таблицу:

Surname DR STATUS_01 Street House Korp Apt SN_POL C_KAT1 C_KAT2 C_KAT_Fixed Date_Start Date_End Map Id_Svaz
Арам 1929/04/07 ПН - - - - 020019 082 096 096 2004/09/27 2093/01/01 3461 Арам1929/04/07
Арам 1929/04/07 ПН - - - - 020019 082 096 096 2004/09/27 2093/01/01 3462 Арам1929/04/07
БРАМ 1922/12/14 ПН Рытикова 3 - 31 200396 011 000 020 1996/12/19 2093/01/01 232 БРАМ1922/12/14
Рамо 1929/02/12 ПН Либкнехта 15 - 11 963 Рамо1929/02/12
ФРАМ 1942/02/10 ПН Большая 32 - - 200296 082 000 082 1999/01/05 2093/01/01 1973 ФРАМ1942/02/10

Столбец Map - числовой, Date_Start_New - дата, остальные текстовые; Id_Svaz предназначен для связи всех таблиц (ключевой столбец)
Заранее благодарен за любую помощь

  Ответить  
 
 автор: osmor   (18.08.2009 в 09:47)   личное сообщение
 
 

Постройте мастером запрос "повторяющиеся записи" (то ли "поиск повторов")
посмотрите как он устроен
добавьте группировку для даты min()

  Ответить  
 
 автор: Cerber   (18.08.2009 в 12:12)   личное сообщение
 
 

Выкладываю сообщения по воскресеньям

  Ответить  
 
 автор: Cerber   (23.08.2009 в 13:42)   личное сообщение
 
 

Сожалею, группировка для даты min() не работает, прбовал самообъединение, не работает, запрос (сокращенный)

SELECT Max(Union.Date_Start_New) AS mx_Date_Start_New, Union.Id_Svaz, Union.DR, Union.STATUS_01
FROM Union
GROUP BY Union.Id_Svaz, Union.DR, Union.STATUS_01;

выдает только дубликаты (единичные записи не выводит) и чем больше интересующих параметров
вводишь в группировку, тем меньше записей получаешь.
К примеру, оригинал содержит 43 записи (тест), 37 дубликатов (2...4 дубликата в группе), запрос возвращает 23 записи без первоначальных единичных записей (меньше дубликатов, но встречаются), а нужны первоначальные единичные записи и эти 23 записи.
Можно конечно, создать новую таблицу, перенести в нее данные запрса, перенести запросом неповторяющиеся записи из первой таблицы.
База и без этого не маленькая (3 таблицы в среднем по миллиону записей плюс десяток мелких таблиц) плюс к этому ежегодное приращение основных таблиц по нескольку сотен тысяч записей
(ожидаемый технический предел три миллиона записей (приход равен уходу)).
Есть ли у Вас мысли по этому поводу?
Заранее благодарю всех откликнувшихся на просьбу о помощи.

  Ответить  
 
 автор: ShadowOfSun   (23.08.2009 в 19:14)   личное сообщение
12 Кб.
 
 

В исходной таблице заполни пустые ячейки поля Date_Start символом "-"
и тестируй
В просьбе ты пишешь - ранняя дата а в примере наоборот
На будущее - Задавай вопросы с понятными примерами - ответят быстрее
Запарился загонять в акс

  Ответить  
 
 автор: Cerber   (24.08.2009 в 09:38)   личное сообщение
 
 

Спасибо за решение, Ваши замечания учту
С уважением, Сергей

  Ответить  
 
 автор: Cerber   (30.08.2009 в 09:24)   личное сообщение
 
 

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

  Ответить  
 
 автор: ShadowOfSun   (30.08.2009 в 23:33)   личное сообщение
 
 

Решение настолько простое.....
1. Сделай запрос как тебе написал Osmor
2. Сделай запрос для поиска единичных записей неизвестно, что ты под этим подразумеваешь
3. Сделай Union Select для обоих запросов

P. S. Упрости свой запрос и все получится

  Ответить  
 
 автор: Cerber   (31.08.2009 в 09:37)   личное сообщение
 
 

Спасибо, попробую

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList