none
Query para retorno de registros duplicados. RRS feed

  • 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

    segunda-feira, 3 de setembro de 2012 12:08

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
    segunda-feira, 3 de setembro de 2012 12:40

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.br

    Se 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.

    segunda-feira, 3 de setembro de 2012 12:27
    Moderador
  • 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
    segunda-feira, 3 de setembro de 2012 12:40