2014-04-29 2 views
0

레코드가 100,000 개 이상인 액세스 테이블이 있습니다. 내 문제는 많은 기록에 중복 된 정보가 있다는 것입니다. 레코드를 병합/결합하고 싶습니다.중복 레코드를 하나의 레코드로 통합/병합

필자는 중복 (때로는 두 개 이상의 레코드)을 식별하는 데 사용할 수있는 필드 (CommonField)가 있습니다. 각 분야는 개별적으로 고려되어야합니다. 예를 들면 다음과 같습니다.

날짜 필드가 같지 않으면 최근 날짜를 유지하는 것이 좋습니다.

개수 필드가 동일하지 않은 경우 더 큰 값을 유지하는 것이 좋습니다.

회사 이름이 동일하지 않은 경우 다른 이름이없는 한 두 이름을 모두 유지하는 것이 좋습니다. 데이터의 샘플에 대한

CLICK HERE :

+------------------+-------------+-------+-------+------------------+-----------+------------+--------+-----------------------------+ 
| Existing Records |    |  |  |     |   |   |  |        | 
+------------------+-------------+-------+-------+------------------+-----------+------------+--------+-----------------------------+ 
| ID    | CommonField | First | Last | Email   | Date  | Currency | Count | Company      | 
| 1    | AA123  | John |  |     |   | $465,000 |  | ABC Company Ltd    | 
| 2    | AA123  | John |  | [email protected] | 1-Mar-78 | $465,000 | 87,000 | ABC Company     | 
| 3    | AA123  |  | Doe |     | 14-Mar-78 | $465,000 | 88,000 |        | 
| 4    | BB456  | Dave | Smith |     | 1-Apr-92 | $1,200,000 | 5,000 | Carter Company    | 
| 5    | BB456  |  | Smith | [email protected]  | 1-Apr-92 | $1,200,000 | 5,000 | Simpson Ltd     | 
| 6    | CC568  |  |  | [email protected] | 1-Sep-05 | $60,000 |  | Woods Holdings    | 
| 7    | CC568  |  | Woods | [email protected] |   |   | 40,000 | Woods      | 
| 8    | CC568  | Jane | Woods |     | 1-Sep-05 |   |  |        | 
| 9    | DD211  | Bob | Burns | [email protected] | 5-Aug-01 | $678,100 | 21,400 |        | 
|     |    |  |  |     |   |   |  |        | 
| Desired Result |    |  |  |     |   |   |  |        | 
| ID    | CommonField | First | Last | Email   | Date  | Currency | Count | Company      | 
| 10    | AA123  | John | Doe | [email protected] | 14-Mar-78 | $465,000 | 88,000 | ABC Company Ltd    | 
| 11    | BB456  | Dave | Smith | [email protected]  | 1-Apr-92 | $1,200,000 | 5,000 | Carter Company, Simpson Ltd | 
| 12    | CC568  | Jane | Woods | [email protected] | 1-Sep-05 | $60,000 | 40,000 | Woods Holdings    | 
| 13    | DD211  | Bob | Burns | [email protected] | 5-Aug-01 | $678,100 | 21,400 |        | 
+------------------+-------------+-------+-------+------------------+-----------+------------+--------+-----------------------------+ 

나는이 프로젝트를 다루는 가장 좋은 방법에 대한 사용자의 의견을 듣고 관심이 있어요.

+0

OP는 명시 적으로 Access에 관한 것이므로 MySQL 태그를 제거했습니다. –

답변

0

추악한 사람.

이름 필드에는 이름을 결합하기 위해 다른 테이블이 필요할 수도 있습니다. 공통 ID와 회사 이름 모두에 대한 쿼리로 그룹에서 새 테이블을 만드는 것으로 시작하겠습니다. 표준화 된 이름에 대한 추가 필드를 테이블에 추가 한 다음 중복 쿼리 찾기를 사용하여 둘 이상의 이름이있는 모든 공통 ID를보고 수동으로 표준화 된 이름을 지정하십시오.

그런 다음 원본 데이터 테이블과 회사 이름 테이블을 쿼리별로 그룹으로 가져와 표준화 된 이름을 최종 결과로 가져올 수 있습니다. 데이터 및 개수 필드의 경우 max (date) 및 max (count)를 사용할 수 있습니다. 첫 번째, 마지막 및 전자 메일 텍스트 필드에서도 작동해야하지만 수동으로 결과를 자세히 관찰해야합니다.

관련 문제