Pessoas (básico)

Auditar cidades dos endereços (pelo CEP)

PESSOA.FAQ-28283
Para verificar se o cadastro possui endereços apontando para cidades do estado incorreto (problema de cidades com mesmo nome), basta rodar o SQL abaixo;

select p.pessoa
, e.codigo_postal
, c.cidade
, u.sigla as uf_cadastro
, ok.uf as uf_correta
, (select k.cidade
  from cidades k
  join regioes k2 on k2.id = k.regiao_id
  where k.nome_completo = c.nome_completo
  and k2.sigla = ok.uf) cidade_correta
from enderecos e
join cidades c on c.id = e.cidade_id
join regioes u on u.id = c.regiao_id
join pessoas p on p.id = e.pessoa_id
join tmp_ceps_estados ok on e.codigo_postal between ok.ini and ok.fim
where u.sigla <> ok.uf
order by c.cidade

Para executar este SQL será necessário criar uma tabela temporária definida abaixo:
         create table tmp_ceps_estados (uf char(2), ini char(10), fim char(10));
         insert into tmp_ceps_estados (uf,ini,fim) values('AC','69900-000','69999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('AL','57000-000','57999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('AM','69000-000','69299-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('AM','69400-000','69899-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('AP','68900-000','68999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('BA','40000-000','48999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('CE','60000-000','63999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('DF','70000-000','72799-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('DF','73000-000','73699-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('ES','29000-000','29999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('GO','72800-000','72999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('GO','73700-000','76799-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('MA','65000-000','65999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('MG','30000-000','39999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('MS','79000-000','79999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('MT','78000-000','78899-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('PA','66000-000','68899-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('PB','58000-000','58999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('PE','50000-000','56999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('PI','64000-000','64999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('PR','80000-000','87999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('RJ','20000-000','28999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('RN','59000-000','59999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('RO','76800-000','76999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('RR','69300-000','69399-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('RS','90000-000','99999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('SC','88000-000','89999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('SE','49000-000','49999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('SP','01000-000','19999-999');
         insert into tmp_ceps_estados (uf,ini,fim) values('TO','77000-000','77999-999');