Frage

Ich versuche den Zugriff zu verwenden, um eine große Datenbank mit Mailing -Adressen zu durchlaufen, und ich möchte einen Bericht generieren, in dem alle identischen Mailing -Adressen untersucht werden und dann nach Postleitzahlen suchen, die nicht übereinstimmen. Idealerweise möchte ich dieselbe Methode verwenden, um Namen im Vergleich zu Mailing -Adressen, Mailing -Adressen gegen Namen usw. zu überprüfen.

Ziel ist es, die Datenbank zu bereinigen und das Porto drastisch zu reduzieren.

Ich hatte gedacht, dies würde ziemlich einfach werden, aber ich habe mir noch keinen Weg gefunden, es zu tun, und ich habe noch nichts online gefunden, was mir sagt, dass jemand anderes dies getan hat.

Mein aktueller Versuch sieht so aus: aber es gibt null Ergebnisse zurück.

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;
War es hilfreich?

Lösung

Ich empfehle die folgende Frage:

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;

Diese Abfrage vergleicht jede Zeile in der Tabelle mit jeder anderen Zeile in der Tabelle, um address2 = address2, aber Zipcode <> Zipcode zu finden. Die Abfrage gibt alle Datensätze zurück, die zu diesen Kriterien als separate Zeilen passen.

Andere Tipps

Haben Sie einen Adresskorrekturdienst wie was in Betracht gezogen? Smartyststreets bietet an? (Ich arbeite bei SmartYstreets.)

Das Finden von doppelten Adressen ist außergewöhnlich schwierig, ohne sie durch einen Validierungs- und Standardisierungsdienst zu bringen. Solche Dienste können Fehlzündungen, Adressen in verschiedenen Formaten usw. behandeln. Ihre Abfrage erwartet, dass die gleichen Adressen genau gleich sind und nicht mit "123 Main" mit "123 Main ST" übereinstimmen, obwohl sie gleich sind.

Und da diese Dienste tendenziell kasszertifiziert sind, unter der Annahme, dass Sie US-Adressen haben, erhalten Sie einen Cass-Zusammenfassungsbericht, den Sie bei der Post für niedrigere Versandpreise vorlegen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top