Possuo uma tabela com dados. Ocorre que, sabe-se lá o que aconteceu, alguns registros foram duplicados. Então preciso excluir estes registros excedentes.
Então tentei fazer da seguinte forma.
Usando a cláusula distinct vou copiar os registros para uma segunda tabela, ou seja, vou copiar os registros originais para uma outra tabela que possui a mesma estrutura da primeira.
A tabela principal possui vários campos, sendo que para identificar quais os registros que estão duplicados, basta comparar os valores de 4 campos. Então a instrução sql ficou assim:
select distinct campo1, campo2, campo3, campo4 from tabela.
Muito bem estão selecionados os registros sem os duplicados. Então o próximo passo seria exportar estes registros para a outra tabela.
Mas veja só: são apenas quatro campos que foram considerados na clausula distinct. Portanto ao copiar os registros para a outra tabela serão copiados apenas os 4 campos especificados na clausula distinct. Como preciso copiar o registro inteiro com todos os campos ( não somente os quatro campos ), aí a coisa complicou. Percebeu?? Faltam os demais campos.
Aí alguém diria: Então é só especificar todos os campos na clausula distinct.
É o que me parece correto.
Mas aí ele pega todos os registros, inclusive os duplicados. Esta parte eu realmente não entendi. Entendo que deveria pegar apenas os duplicados...
Pergunta
Rudimar
Possuo uma tabela com dados. Ocorre que, sabe-se lá o que aconteceu, alguns registros foram duplicados. Então preciso excluir estes registros excedentes.
Então tentei fazer da seguinte forma.
Usando a cláusula distinct vou copiar os registros para uma segunda tabela, ou seja, vou copiar os registros originais para uma outra tabela que possui a mesma estrutura da primeira.
A tabela principal possui vários campos, sendo que para identificar quais os registros que estão duplicados, basta comparar os valores de 4 campos. Então a instrução sql ficou assim:
select distinct campo1, campo2, campo3, campo4 from tabela.
Muito bem estão selecionados os registros sem os duplicados. Então o próximo passo seria exportar estes registros para a outra tabela.
Mas veja só: são apenas quatro campos que foram considerados na clausula distinct. Portanto ao copiar os registros para a outra tabela serão copiados apenas os 4 campos especificados na clausula distinct. Como preciso copiar o registro inteiro com todos os campos ( não somente os quatro campos ), aí a coisa complicou. Percebeu?? Faltam os demais campos.
Aí alguém diria: Então é só especificar todos os campos na clausula distinct.
É o que me parece correto.
Mas aí ele pega todos os registros, inclusive os duplicados. Esta parte eu realmente não entendi. Entendo que deveria pegar apenas os duplicados...
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.