Pergunta

Estou tentando usar o acesso para passar por um grande banco de dados de endereços de correspondência e estou procurando gerar um relatório que analise todos os endereços de correspondência que são idênticos e, em seguida, procure códigos postais que não correspondam. Idealmente, gostaria de usar esse mesmo método para verificar nomes versus endereços de correspondência, endereços de correspondência versus nomes, etc.

O objetivo é limpar o banco de dados e reduzir drasticamente a postagem.

Eu pensei que isso seria bastante simples, mas ainda não inventei uma maneira de fazê -lo, e não encontrei nada online que me diga que mais alguém fez isso.

Minha tentativa atual é assim: mas está retornando zero resultados.

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;
Foi útil?

Solução

Eu recomendo a seguinte consulta:

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;

Esta consulta compara cada linha na tabela com todas as outras linhas da tabela para encontrar endereço2 = endereço2, mas zipcode <> zipCode. A consulta retornará todos os registros que se encaixam nesse critério como linhas separadas.

Outras dicas

Você já considerou um serviço de correção de endereço como o que SmartyStreets ofertas? (Eu trabalho na SmartyStreets.)

Encontrar endereços duplicados é excepcionalmente complicado sem colocá -los através de um serviço de validação e padronização. Esses serviços podem lidar com erros de spellings, endereços em diferentes formatos, etc. Sua consulta espera que os mesmos endereços sejam exatamente iguais e não correspondam ao "123 Main" com "123 Main ST", mesmo que sejam iguais.

E como esses serviços tendem a ser certificados pelo CASS, supondo que você tenha algum endereço dos EUA, você receberá um relatório de resumo do CASS que apresenta nos correios para obter taxas de correspondência mais baixas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top