Domanda

Sto cercando di utilizzare l'accesso per passare attraverso un ampio database di indirizzi postali e sto cercando di generare un rapporto che esamina tutti gli indirizzi postali identici, e quindi cerca codici postali che non corrispondono. Idealmente, vorrei utilizzare questo stesso metodo per controllare i nomi rispetto agli indirizzi postali, gli indirizzi postali rispetto ai nomi, ecc.

L'obiettivo è ripulire il database e ridurre drasticamente le spese postali.

Avevo pensato che sarebbe stato abbastanza semplice, ma non ho ancora trovato un modo per farlo, e non ho trovato nulla di online che mi dice che qualcun altro lo abbia fatto.

Il mio attuale tentativo sembra così: ma sta restituendo zero risultati.

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;
È stato utile?

Soluzione

Consiglio la seguente domanda:

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;

Questa query confronta ogni riga nella tabella con ogni altra riga nella tabella per trovare indirizzo2 = indirizzo2 ma zipcode <> zipcode. La query restituirà tutti i record che si adattano a tali criteri come righe separate.

Altri suggerimenti

Hai considerato un servizio di correzione dell'indirizzo come cosa Smartystreets Offerte? (Lavoro in SmartyStreets.)

Trovare indirizzi duplicati è eccezionalmente complicato senza farli attraverso un servizio di validazione e standardizzazione. Tali servizi possono gestire errate spese, indirizzi in diversi formati, ecc. La tua query si aspetta che gli stessi indirizzi siano esattamente uguali e non corrisponderanno a "123 main" con "123 main st" anche se sono gli stessi.

E poiché questi servizi tendono ad essere certificati CASS, supponendo che tu abbia indirizzi statunitensi, otterrai un rapporto di riepilogo CASS presente all'ufficio postale per tassi di posta più bassi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top