Question

J'essaie d'utiliser l'accès pour passer par une grande base de données d'adresses postales, et je cherche à générer un rapport qui examine toutes les adresses postales identiques, puis recherche des codes postaux qui ne correspondent pas. Idéalement, je voudrais utiliser cette même méthode pour vérifier les noms par rapport aux adresses postales, aux adresses postales par rapport aux noms, etc.

L'objectif est de nettoyer la base de données et de réduire considérablement les frais de port.

J'avais pensé que cela allait être assez simple, mais je n'ai pas encore trouvé de moyen de le faire, et je n'ai rien trouvé en ligne qui me dit que quelqu'un d'autre l'a fait.

Ma tentative actuelle ressemble à ceci: mais elle renvoie aucun résultat zéro.

SELECT [Permissive Export_OLD 1].ACCOUNTNO, [Permissive Export_OLD 1].KEYNO, [Permissive Export_OLD 1].NAME1, [Permissive Export_OLD 1].NAME2, [Permissive Export_OLD 1].ADDRESS1, [Permissive Export_OLD 1].ADDRESS2, [Permissive Export_OLD 1].CITY, [Permissive Export_OLD 1].STATE, [Permissive Export_OLD 1].ZIPCODE
FROM [Permissive Export_OLD 1]
WHERE ((([Permissive Export_OLD 1].ADDRESS2)="EQUAL") AND (Not ([Permissive Export_OLD 1].ZIPCODE)="EQUAL"))
GROUP BY [Permissive Export_OLD 1].ACCOUNTNO, [Permissive Export_OLD 1].KEYNO, [Permissive Export_OLD 1].NAME1, [Permissive Export_OLD 1].NAME2, [Permissive Export_OLD 1].ADDRESS1, [Permissive Export_OLD 1].ADDRESS2, [Permissive Export_OLD 1].CITY, [Permissive Export_OLD 1].STATE, [Permissive Export_OLD 1].ZIPCODE;
Était-ce utile?

La solution

Je recommande la requête suivante:

SELECT [Permissive Export_OLD 1].ACCOUNTNO, [Permissive Export_OLD 1].KEYNO, [Permissive Export_OLD 1].NAME1, [Permissive Export_OLD 1].NAME2, [Permissive Export_OLD 1].ADDRESS1, [Permissive Export_OLD 1].ADDRESS2, [Permissive Export_OLD 1].CITY, [Permissive Export_OLD 1].STATE, [Permissive Export_OLD 1].ZIPCODE
FROM [Permissive Export_OLD 1], [Permissive Export_OLD 1] AS [Permissive Export_OLD 1_1]
WHERE ((([Permissive Export_OLD 1].ADDRESS2)=[Permissive Export_OLD 1_1].[ADDRESS2]) AND (([Permissive Export_OLD 1].ZIPCODE)<>[Permissive Export_OLD 1_1].[ZIPCODE]))
GROUP BY [Permissive Export_OLD 1].ACCOUNTNO, [Permissive Export_OLD 1].KEYNO, [Permissive Export_OLD 1].NAME1, [Permissive Export_OLD 1].NAME2, [Permissive Export_OLD 1].ADDRESS1, [Permissive Export_OLD 1].ADDRESS2, [Permissive Export_OLD 1].CITY, [Permissive Export_OLD 1].STATE, [Permissive Export_OLD 1].ZIPCODE;

Cette requête compare chaque ligne dans le tableau à toutes les autres lignes du tableau pour trouver Adresse2 = Address2 mais Zipcode <> Zipcode. La requête renverra tous les enregistrements qui correspondent à ces critères en tant que lignes distinctes.

Autres conseils

Avez-vous envisagé un service de correction d'adresse comme ce Smartystreets des offres? (Je travaille chez SmartyStures.)

La recherche d'adresses en double est exceptionnellement délicate sans les mettre à travers un service de validation et de normalisation. Ces services peuvent gérer les ingénieurs erronés, les adresses dans différents formats, etc. Votre requête s'attend à ce que les mêmes adresses soient exactement égales et ne correspondent pas à "123 Main" avec "123 Main St" même s'ils sont les mêmes.

Et comme ces services ont tendance à être certifiés Cass, en supposant que vous avez des adresses américaines, vous obtiendrez un rapport de résumé CASS que vous présentez au bureau de poste pour les taux de diffusion plus bas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top