Condividi tramite

Query eliminazione duplicati

Anonimo
2016-06-16T03:30:51+00:00

In una tabella di access vorrei cancellare tutti i record con dati duplicati sul campo "Nominativo", in modo che rimangono solo i record che non hanno duplicati sul campo "Nominativo". Come si fa ?

Microsoft 365 e Office | Accesso | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

7 risposte

Ordina per: Più utili
  1. Anonimo
    2016-06-16T17:47:06+00:00

    ciao Mescaleros,

    struttura la tabella con il solo campo nominativo ed inserisci qualche dato, di cui alcuni duplicati e testa lo statement che ti ho postato.

    La tabella la chiami t_nom, vedrai che funziona...

    se invece la strutturi con id e nominativo e id è un long univoco, testa questo statement per mantenere il duplicato con id minore :

    delete t1.nominativo

    FROM t_nom2 as T1

    where id<>(select min(id) from t_nom2 as t where t.nominativo=t1.nominativo)

    ad esecuzione ultimata non avrai alcun duplicato ma manterrai valori univoci.

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-06-16T15:42:53+00:00

    cosi come è non va bene , dovrebbe mancare

    select (nome della tabella )

    e select (nome del Campo ) ?

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-06-16T08:59:30+00:00

    Non ho provato ancora , ma la domanda non era ambigua  e comunque ogni vostro consiglio è sempre utile. mi rerviva cancellare tutti i doippioni non lasciando alcuna copia , ma parimenti successivamente mi potrebbe servire invece lasciare un record.

    Grazie per la disponibilità

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2016-06-16T07:53:39+00:00

    Domanda leggermente ambigua:

    quando dici che vuoi cancellare tutti i record con il campo Nominativo "duplicato" intendi dire che alla fine quel nominativo non deve esistere più oppure che dopo la pulizia dovrà esistere una sola volta?.

    Nel primo caso va bene la query che ti ha mostrato Sandro, nel secondo caso invece, ammesso che tu abbia un campo ID univoco sulla tabella puoi provare con questo SQL:

    --

    DELETE A.*

    FROM Anagrafica AS A

    WHERE (A.Id Not In (Select Min(A1.Id) From Anagrafica A1 Where A1.Nominativo=A.Nominativo));

    --

    David

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2016-06-16T06:17:29+00:00

    ciao Mescaleros21,

    supponendo la tabella si chiami t_nom ed il campo nominativo

    delete t_nom.nominativo

         FROM

               t_nom as T

          where exists 

             ( select nominativo

                   from

                       t_nom as t1

                  where

                       t1.nominativo=t.nominativo

            group by nominativo having count(nominativo)>1)

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento