none
DUPLICAÇÃO DE TELEFONE RRS feed

  • Pergunta

  • BOM DIA.

    Preciso fazer um levantamento de telefones duplicados na minha base.

    Eu tenho os seguintes campos: 

    • [CPF_CLIENTE]
    • [DDD + TEL RES]
    • [DDD + TEL COM]
    • [DDD + TEL CEL]

    No entanto para cada telefone duplicado eu preciso sabe se é da mesmo cpf ou de cpf diferente.

    terça-feira, 28 de junho de 2016 14:38

Respostas

  • Boa tarde,

    Experimente mais ou menos dessa forma:

    with CTE_Unpivot as
    (
        select CPF_CLIENTE, Telefone
        from Tabela
        unpivot
        (
            Telefone for Tipos in ([DDD + TEL RES], [DDD + TEL COM], [DDD + TEL CEL])
        ) as u 
    )
    
    select
        Telefone,
        count(distinct CPF_CLIENTE) as QtdClientes
    from CTE_Unpivot
    group by
        Telefone

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    terça-feira, 28 de junho de 2016 19:57

Todas as Respostas

  • Boa tarde,

    Experimente mais ou menos dessa forma:

    with CTE_Unpivot as
    (
        select CPF_CLIENTE, Telefone
        from Tabela
        unpivot
        (
            Telefone for Tipos in ([DDD + TEL RES], [DDD + TEL COM], [DDD + TEL CEL])
        ) as u 
    )
    
    select
        Telefone,
        count(distinct CPF_CLIENTE) as QtdClientes
    from CTE_Unpivot
    group by
        Telefone

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    terça-feira, 28 de junho de 2016 19:57
  • Show de bola.

    Funcionou certinho, mas tem como identificar o que tipo de telefone, exemplo se é residencial ou celular?

    Valeu.

    quarta-feira, 29 de junho de 2016 12:09
  • Experimente fazer uns testes para ver se é obtido o resultado esperado:

    with CTE_Unpivot as
    (
        select CPF_CLIENTE, Telefone, Tipo
        from Tabela
        unpivot
        (
            Telefone for Tipos in ([DDD + TEL RES], [DDD + TEL COM], [DDD + TEL CEL])
        ) as u 
    )
    
    select
        Telefone,
        count(distinct CPF_CLIENTE) as QtdClientes,
        count(distinct Tipos) as QtdTipos
    from CTE_Unpivot
    group by
        Telefone

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    quarta-feira, 29 de junho de 2016 14:09
  • Não funcionou, ele não reconhece o campo 'Tipos'.

    Msg 207, Level 16, State 1, Line 55
    Invalid column name 'Tipos'.

    quinta-feira, 30 de junho de 2016 12:01
  • Pelo que vi errei a digitação, faltou um s onde está Tipo, logo no início:

    with CTE_Unpivot as
    (
        select CPF_CLIENTE, Telefone, Tipos
        from Tabela
        unpivot
        (
            Telefone for Tipos in ([DDD + TEL RES], [DDD + TEL COM], [DDD + TEL CEL])
        ) as u 
    )
    
    select
        Telefone,
        count(distinct CPF_CLIENTE) as QtdClientes,
        count(distinct Tipos) as QtdTipos
    from CTE_Unpivot
    group by
        Telefone

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    quinta-feira, 30 de junho de 2016 14:24