Ir para conteúdo

Arquivado

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

daniellds

Duplicidade - Oque fasso?

Recommended Posts

Gente boa, e o seguinte tenho uma tabela q tem duplicidade, gostaria de filtrar os dados de forma a selecionar somente o registros q tem e-mails iguais. Para q assim possa analisar melhor como resolver esse problema...Naum to conseguindo montar esse SELECT... Alguem poderia me ajudar??Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente boa, e o seguinte tenho uma tabela q tem duplicidade, gostaria de filtrar os dados de forma a selecionar somente o registros q tem e-mails iguais. Para q assim possa analisar melhor como resolver esse problema...

 

Naum to conseguindo montar esse SELECT...

Alguem poderia me ajudar??

 

Obrigado

<{POST_SNAPBACK}>

selecione somente o campo email

 

select distinct email from table

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente boa, e o seguinte tenho uma tabela q tem duplicidade, gostaria de filtrar os dados de forma a selecionar somente o registros q tem e-mails iguais. Para q assim possa analisar melhor como resolver esse problema...

 

Naum to conseguindo montar esse SELECT...

Alguem poderia me ajudar??

 

Obrigado

<{POST_SNAPBACK}>

selecione somente o campo email

 

select distinct email from table

<{POST_SNAPBACK}>

Ja fiz isso so q eu preciso obter os registros com duplicidade e nao selecionar apenas um deles usando o distinct...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde.

 

Faça o seguinte comando:

 

Select distinct email, count(email)

  From tabela

Group by email

Having count(email) > 1

 

Espero ter ajudado.

 

Att,

<{POST_SNAPBACK}>

Boa tarde.

 

Obrigado marcus... você ajudou bastante...

Mas ainda não consegui resolver o problema preciso de executar algum comando de forma a manter apenas um registro dos duplicados... Alguem ai tem alguma idéia?

 

Tipo assim eu tenho uma tabela de cadastros e nela tem registros duplicados... tipo 4 registros com e-mail iguais... eu gostaria de manter somente um desses 4... QUALQUER UM!

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,após identificar as linhas q possuem duplicidade, você pode inserir o resultado do select que te passei em uma tabela temporária, assim você tem somente uma linha para cada registro e uma coluna a mais q é a qtde de vezes q ele se repete. Após salvar o resultado em uma tabela temporária, você pode deletar todos os registros duplicados e reinserir somente 1 a partir da tabela temporária.Ex.:

Create Table #temporaria(nome VarChar(40), email VarChar(50), qtde Int)Insert Into #temporaria Select distinct nome, email, count(email)From tabela Group by emailHaving count(email) > 1Delete  From tabela Where email in (Select distinct email From tabela Group by email Having count(email) > 1)Insert Into tabela (nome, email)   Select nome, email      From #temporaria Drop Table #temporaria

Espero ter ajudado.Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,Caro marcus obrigado pela ajuda...Eu entendi o esquema que você montou só que no meu caso não da certo pq email não é o unico campo da minha tabela. Se eu criar a tab. temp. usando o distinct eu teria somente os email no final... NOME EMAILA A@A EXCLUIAC A@A MANTEMB B@B - EXCLUIBA B@B - MANTEMC C@C - EXCLUICD C@C - MANTEMSerá que alguem sabe alguma procedure que fassa isso?Valeu!!Att,Daniel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro,

 

Crie nessa tabela um campo auto numerico, a seguir execute esse comando SQL:

 

DELETE FROM TESTE

WHERE ID NOT IN

(SELECT MAX(TESTE.id)

FROM TESTE

GROUP BY TESTE.email)

 

Esse codigo mantera apenas uma posicao de cada e-mail

 

 

 

Boa tarde,

Caro marcus obrigado pela ajuda...

Eu entendi o esquema que você montou só que no meu caso não da certo pq email não é o unico campo da minha tabela. Se eu criar a tab. temp. usando o distinct eu teria somente os email no final...

 

NOME EMAIL

A      A@A EXCLUI

AC    A@A MANTEM

B      B@B - EXCLUI

BA    B@B - MANTEM

C      C@C - EXCLUI

CD    C@C - MANTEM

 

Será que alguem sabe alguma procedure que fassa isso?

Valeu!!

 

Att,

Daniel

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente boa, e o seguinte tenho uma tabela q tem duplicidade, gostaria de filtrar os dados de forma a selecionar somente o registros q tem e-mails iguais. Para q assim possa analisar melhor como resolver esse problema...

 

Naum to conseguindo montar esse SELECT...

Alguem poderia me ajudar??

 

Obrigado

<{POST_SNAPBACK}>

Faça o seguinte :

 

SELECT * FROM <tabela> Where <campo> = <email>

 

Desta forma, trará apenas os registros com o mesmo email.

 

Espero ter colaborado.

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.