Ir para conteúdo

POWERED BY:

Arquivado

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

ATS#

Registros Duplicados em ASP

Recommended Posts

Ola...

Possuo um banco de dados com 22000 registros e existem muitos registros duplicados, ja pesquisei uma forma de deletar registros duplicados sendo que tenho que deixar 1, ex: exitem 7 Maria, tenho que excluir 6 e deixa 1.

 

o codigo que consegui é em PHP com MySql so que naum existem a funcao LIMIT pro access :

{SQL = mysql_query(		 "SELECT apelido, COUNT(*) quant		 FROM cadastros		 GROUP BY apelido		 HAVING quant > 1")		 or die(mysql_error());		  while ($rs = mysql_fetch_assoc($SQL)) {	 extract($rs);	 $quant--;	 mysql_query(	 "DELETE FROM cadastros	 WHERE apelido='{$apelido}'	 LIMIT {$quant}")	 or die(mysql_error());}
Entaum fiz assim, so que quando apaga ele apaga logo todos sem deixar 1, como resolvo a situacao do DELETE?

<%Set rs_d = Server.CreateObject("ADODB.Recordset")rs_d.Open "SELECT A.nome_produtos, COUNT(A.nome_produtos) FROM tblAProdutos AS A WHERE A.codigo_produtos > 1 AND A.codigo_produtos < 100 GROUP BY A.nome_produtos HAVING COUNT(A.nome_produtos) > 1 ", ConexaoIf not rs_d.EOF then rs_d.MoveFirstWhile Not rs_d.EOF%><%Conexao.Execute "DELETE * FROM tblAProdutos WHERE nome_produtos LIKE '"& rs_duplicado("nome_produtos") &"' "%><%rs_d.MoveNextWend%>

Obrigado por sua atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

limit só no mySql no acces você usa o TOP assim:select top 10 nome from tabelaja para excluir os registros duplicados você tera q gerar um script SQL !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

filhote,eu não manjo mto de bd, mas faz assim, dá um select distinct no nome e no cpf dos peão, ai você joga em outra tabela, e apaga a tabela antiga, ele vai distinguir e pegar apenas um registro mesmo havendo cpf's e nomes iguais, se não for isso é quase isso...abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tow pensando em fazer isso mesmo...acho que e o jeito, pois o certo no mysql era fazer assim:DELETE FROM cadastrosWHERE apelido='{$apelido}'LIMIT {$quant}")or die(mysql_error());So que como em access naum funciona o jeito e apelar e colocar em outra tabela mesmo. O problema e que saum 22000 registros, vou ter q fazer passo a passo ate acabar...Valeu...

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.