locked
SQL2000 RRS feed

  • Pergunta

  • Boa tarde Senhores,

     

     

    Como posso apaga somente o conteudo de uma coluna e tb os clientes com nomes duplicados.

    Como seria a linha de comando, DELETE FROM:

     

    Alguém poderia me ajudar.

     

    Obrigado a todos.

    domingo, 18 de fevereiro de 2007 18:59

Todas as Respostas

  • Olá Gilson,

    Uma forma de voce resolver este problema seria inserindo os registros duplicados em uma tabela temporaria, depois excluindo os registros duplicados da tabela original, e ai inserir os registros da tabela temporaria novamente na tabela original. Supondo que voce fosse fazer isso com uma tabela CLIENTE que tivesse somente o campo NOME do cliente, o script ficaria:

    CREATE TABLE CLIENTE(NOME VARCHAR(15))
    GO

    INSERT CLIENTE VALUES('PAULO')
    INSERT CLIENTE VALUES('PAULO')
    INSERT CLIENTE VALUES('JOSE')
    GO

    SELECT * FROM CLIENTE
    GO

    SELECT NOME
    INTO #TMP
    FROM CLIENTE
    GROUP BY NOME
    HAVING COUNT(*)>1
    GO

    DELETE CLIENTE
    FROM CLIENTE
    INNER JOIN #TMP
    ON (CLIENTE.NOME = #TMP.NOME)
    GO

    INSERT CLIENTE
    SELECT * FROM #TMP
    GO

    SELECT * FROM CLIENTE

    Qualquer duvida, retorne.

    Abs

    quinta-feira, 22 de fevereiro de 2007 13:01