none
SELECT QUE MOSTRE INFORMAÇÔES DUPLICADAS. RRS feed

  • Pergunta

  • Senhores,

    Estou com um problema em minha base de dados, tenho uma tabela CLIENTES e na coluna CNPJ há dados duplicados.
    Imaginem, há dados duplicados de CNPJ para razões sociais diferentes, então a maioria das NF estão saindo com divergencias.
    Como assumi a analise do banco de dados da empresa e ainda sou "novato", gostaria de saber se não há um comando que me traga somente as informações duplicadas.

    Obrigado.

    quarta-feira, 27 de maio de 2009 13:45

Respostas

  • Bom Dia,

    É possível, mas o maior problema não será esse. O maior problema será escolher qual das razões sociais irá prevalecer quando o CNPJ for duplicado. O segundo maior problema será igualar os registros das tabelas filhas.

    declare @t table (cnpj char(14), razaosocial varchar(100))
    insert into @t values ('12345678901234', 'Empresa X')
    insert into @t values ('12345678901234', 'Empresa Y')
    insert into @t values ('12345678901234', 'Empresa Z')
    insert into @t values ('01234567890123', 'Empresa A')
    insert into @t values ('01234567890123', 'Empresa B')
    insert into @t values ('11111111111111', 'Empresa C')
    
    -- Localizar CNPJs duplicados
    SELECT CNPJ, COUNT(*) As Repeticoes FROM @t
    GROUP BY CNPJ
    HAVING COUNT(*) > 1

    Esse problema parece ser tão básico mas rende várias dores de cabeça em cenários um pouco mais complicados. Estou inclusive postando uma entrada no meu blog essa semana para tratar disso.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como executar tarefas ao iniciar o SQL Server ?
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!570.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Heloisa Pires sexta-feira, 29 de junho de 2012 18:33
    quarta-feira, 27 de maio de 2009 14:00

Todas as Respostas