Usuário com melhor resposta
Query para retorno de registros duplicados.

Pergunta
-
Se alguem puder me dar uma dica ou confirmar se minha query estah certa, agradeço !
Requisição:
/*contatos que possuirem mais de um registro vinculado com o mesmo cliente OU agência, com mesmo nome completo E email.*/
Query :
select c.fullname, c.emailaddress1,c.accountidname,c.rbs_agenciaidname
from filteredcontact c
group by c.accountidname, c.rbs_agenciaidname, c.fullname, c.emailaddress1
having count(c.fullname) > 1
order by c.fullname
Respostas
-
Buenas!
na realidade eh estah a query :
/*
contatos que possuirem mais de um registro vinculado com o mesmo cliente OU agência, com mesmo nome completo E email.
*/
select t.fullname, t.emailaddress1,t.accountid, t.rbs_agenciaid
from filteredcontact c1 inner join
(
select c.fullname, c.emailaddress1,c.accountid, '00000000-0000-0000-0000-000000000000' as rbs_agenciaid
from filteredcontact c
where c.accountid is not null
and c.statecode = 0
group by c.accountid, c.fullname, c.emailaddress1
having count(c.fullname) > 1
union all
select c.fullname, c.emailaddress1,'00000000-0000-0000-0000-000000000000' as accountid, c.rbs_agenciaid
from filteredcontact c
where c.rbs_agenciaid is not null
and c.statecode = 0
group by c.rbs_agenciaid, c.fullname, c.emailaddress1
having count(c.fullname) > 1
) as T
on t.fullname = c1.fullname
and t.emailaddress1 = c1.emailaddress1- Marcado como Resposta Diego S. Chagas segunda-feira, 3 de setembro de 2012 12:40
- Editado Diego S. Chagas segunda-feira, 3 de setembro de 2012 13:56 update
Todas as Respostas
-
Parece estar ok.
Pode ser que tenha que tirar algum campo do group by e recuperar a informação depois.
Mas você já testou? Está tendo algum problema?
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta. -
Buenas!
na realidade eh estah a query :
/*
contatos que possuirem mais de um registro vinculado com o mesmo cliente OU agência, com mesmo nome completo E email.
*/
select t.fullname, t.emailaddress1,t.accountid, t.rbs_agenciaid
from filteredcontact c1 inner join
(
select c.fullname, c.emailaddress1,c.accountid, '00000000-0000-0000-0000-000000000000' as rbs_agenciaid
from filteredcontact c
where c.accountid is not null
and c.statecode = 0
group by c.accountid, c.fullname, c.emailaddress1
having count(c.fullname) > 1
union all
select c.fullname, c.emailaddress1,'00000000-0000-0000-0000-000000000000' as accountid, c.rbs_agenciaid
from filteredcontact c
where c.rbs_agenciaid is not null
and c.statecode = 0
group by c.rbs_agenciaid, c.fullname, c.emailaddress1
having count(c.fullname) > 1
) as T
on t.fullname = c1.fullname
and t.emailaddress1 = c1.emailaddress1- Marcado como Resposta Diego S. Chagas segunda-feira, 3 de setembro de 2012 12:40
- Editado Diego S. Chagas segunda-feira, 3 de setembro de 2012 13:56 update