Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fael

Deletar registros duplicados

Recommended Posts

Pessoal,

 

Preciso remover registros duplicados em uma tabela de cidades, por exemplo: A tabela tem as cidades cadastradas relacionadas a um estado mas tem algumas cidades que estão duplicadas, aparecem a mesma cidade, para o mesmo estado só que com id diferente. Alguém sabe como faço para pegar todas as cidades duplicadas do mesmo estado? Não quero pegar estado por estado, quero pegar todas. Mas se der só de estado por estado, tudo bem, só vou ter um pouco mais de trabalho.

 

Desde já agradeço! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites

o estado não influencia, testa o seguinte.select cd_codigo, nm_cidade from TABELAexception(select distinct(nm_cidade) from TABELA)

Compartilhar este post


Link para o post
Compartilhar em outros sites

o estado não influencia, testa o seguinte.select cd_codigo, nm_cidade from TABELAexception(select distinct(nm_cidade) from TABELA)

Influencia porque pode ter uma cidade com o mesmo nome, porém de estados diferentes. Não acha?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tinha esquecido que as cidades podem ter o mesmo nome em estados diferentes. É só colocar o nm_estado junto no select.Ou faz por estado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que a porcaria do banco que estou usando nesse projeto é o access. Dá erro: "Erro de sintaxe na cláusula FROM".

 

Meu select é assim:

 

select id, nome, iduf from cidadesexception(select distinct(nome) from cidades)

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criei um banco no sql server só pra testar o seu exemplo, mas deu o seguinte erro:Server: Msg 156, Level 15, State 1, Line 1Incorrect syntax near the keyword 'select'.Server: Msg 170, Level 15, State 1, Line 1Line 1: Incorrect syntax near ')'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o seguinte então,select a.id, a.nome, a.iduf, b.id, b.nome, b.iduf from cidades as across join cidades bwhere a.nome = b.nome and a.id <> b.idque assim você vai listar todos os relacionamentos possíveis, e só pegando as linhas onde os nomes coincidem e que tenham o código diferente, aí você só verifica se o iduf é igual.Se for igual, esta duplicada.Aí vai anotando essas id para depois deletar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.