Query di eliminazione da duplicati

di il
20 risposte

Query di eliminazione da duplicati

Ciao a tutti,
ho importato da un file Excel in una tabella (Clienti) alcune centinaia di record nei quali vi sono spesso email doppie o triple. Con una query cerca duplicati li ho identificati ora come faccio e creare una query di eliminazione che cancelli solo i duplicati ??? Per me è un arcano. Grazie come sempre a tutti

20 Risposte

  • Re: Query di eliminazione da duplicati

    Esattamente creando da qbe una query DELETE basata sulla query di ricerca duplicati.
  • Re: Query di eliminazione da duplicati

    mazda91 ha scritto:


    Ciao a tutti,
    ho importato da un file Excel in una tabella (Clienti) alcune centinaia di record nei quali vi sono spesso email doppie o triple. Con una query cerca duplicati li ho identificati ora come faccio e creare una query di eliminazione che cancelli solo i duplicati ??? Per me è un arcano. Grazie come sempre a tutti
    Quindi non ti interessa il contenuto degli altri campi? l'unica verifica che se il campo e-mail esiste già quel "record" non deve essere importato?
    Se si tratta di un'operazione una tantum io creerei una tabella "d'appoggio" e nel campo dove non vuoi i duplicati metterei un indice con duplicati non ammessi. Farei una query di accodamento dalla tabella CON i duplicati a quest'ultima appena creata, compare il messaggio che n. record non saranno accodati per violazioni dell'indice (o roba del genere), dico di proseguire e via.
    La tabella CON i duplicati a questo punto non serve più e tieni quella nuova appena popolata senza duplicati.
    Se invece vuoi qualcosa di più organizzato in particolare perché l'importazione deve essere ripetuta più volte passo la palla a qualche altro utente.
  • Re: Query di eliminazione da duplicati

    Ustia che velocità ....,
    la tabella importata ha, come detto, una serie di dati che sono doppi, quello che devo ottenere è la "pulizia" della stessa eliminando i dati ripetuti. Mi pare di capire che quindi convenga ripartire da zero reimportando tutto. Giusto ?
  • Re: Query di eliminazione da duplicati

    mazda91 ha scritto:


    Ustia che velocità ....,
    la tabella importata ha, come detto, una serie di dati che sono doppi, quello che devo ottenere è la "pulizia" della stessa eliminando i dati ripetuti. Mi pare di capire che quindi convenga ripartire da zero reimportando tutto. Giusto ?
    No, né @Alex né io abbiamo detto questo. Due suggerimenti diversi ma entrambi partono dal fatto che hai già importato i dati e su quelli lavori.
    Il "mio" suggerimento si può applicare anche ad un'importazione ex novo, l'importante è che la tabella sia già presente (anche se vuota, ovviamente) e che sia stato impostato l'indice con duplicati non ammessi. Diciamo che questo è un po' un "trucco" per rendere il tutto molto semplice.
    E' ovvio che verrà perso tutto quello che è nella riga che contiene l'e-mail doppia.
    Se invece nei doppioni ci sono comunque informazioni da salvare allora tutto si complica.
  • Re: Query di eliminazione da duplicati

    Ho provato a seguire il tuo consiglio Philcatticocarattere ma mi trovo nella situazione di partenza, anche impostando (forse qui sbaglio ma non so cosa) duplicati non ammessi.
  • Re: Query di eliminazione da duplicati

    mazda91 ha scritto:


    alcune centinaia di record nei quali vi sono spesso email doppie o triple
    Chiedo scusa per la spartanità della mia risposta poco tecnica. È capitato spesso anche a me qualcosa del genere, ma trattandosi di "alcune centinaia" di record, fai prima a mettere in ordine Crescente le e-mail e cancellare a occhio/mano. Sono sicuro che risolvi così prima dell'arrivo di una risposta tecnica utile.
  • Re: Query di eliminazione da duplicati

    Si naturalmente, posso farlo "a mano". Il fatto è che è già più volte che faccio così e volevo trovare un automatismo che mi aiutasse. Ad oggi non mi è riuscito. Praticamente riesco ad individuare i valori duplicati ma non a eliminare (solo) quelli così da tenermi l'elenco pulito.
  • Re: Query di eliminazione da duplicati

    Cosa non funziona del suggerimeto che ti ho dato, che con 2 click si fa...!!!???
  • Re: Query di eliminazione da duplicati

    Ciao Alex, non funziona perchè quello che ottengo è la cancellazione di tutto. Ecco cosa ho fatto: dalla tabella creo una query ricerca duplicati e poi da questa una query di eliminazione. Ovviamente in questo passaggio sbaglio qualcosa ma cosa ???
  • Re: Query di eliminazione da duplicati

    Nel rileggere il post di Alex mi rendo conto di non essermi spiegato granchè bene perchè chiedendo di cancellare i dati duplicati quanto dice Alex avviene. Ho dato per sconato (sbagliando) che si fosse capito che per esempio se ho TIZIO che è presente due volte nelle email - è il caso di marito e moglie che sono presenti nell'elenco clienti e che hanno dato la stessa mail - quello che devo ottenere è un elenco nel quale siano presente solo uno dei due. Quindi per me non è importante chi cancello piuttosto è importante che se un cliente è presente più volte con una stessa mail io abbia una sola volta. Grazie
  • Re: Query di eliminazione da duplicati

    mazda91 ha scritto:


    Ho provato a seguire il tuo consiglio Philcatticocarattere ma mi trovo nella situazione di partenza, anche impostando (forse qui sbaglio ma non so cosa) duplicati non ammessi.
    L'indice "duplicati non ammessi" è impostato sul campo destinato ad ospitare l'e-mail? Dovrebbe funzionare, così.
  • Re: Query di eliminazione da duplicati

    Ho provato anche quella strada e cioè nella fase di importazione dei dati ho messo nel campo email Duplicati non ammessi ma ciò che viene importato è sempre lo stesso. Ottengo una tabella nella quale ci sono indirizzi mail che appaiono 2 o anche 3 volte. Come dicevo NON devo eliminarle tutte perchè devo ottenere che le mail siano solo una anche se presentate da persone diverse. Caso di padre e figlio o di marito e moglie dei quali abbiamo i dati anagrafici ma entrambi hanno dato la stess mail.
  • Re: Query di eliminazione da duplicati

    mazda91 ha scritto:


    Ho provato anche quella strada e cioè nella fase di importazione dei dati ho messo nel campo email Duplicati non ammessi ma ciò che viene importato è sempre lo stesso. Ottengo una tabella nella quale ci sono indirizzi mail che appaiono 2 o anche 3 volte.
    A me suona come una contraddizione oppure non ci hai detto tutto passo passo di quello che fai.
    Stiamo parlando di tabella di Access e il campo e-mail con impostazione Indicizzato Sì Duplicati non ammessi non può ospitare duplicati in nessun modo.
  • Re: Query di eliminazione da duplicati

    mazda91 ha scritto:


    Ho provato anche quella strada e cioè nella fase di importazione dei dati ho messo nel campo email Duplicati non ammessi ma ciò che viene importato è sempre lo stesso. Ottengo una tabella nella quale ci sono indirizzi mail che appaiono 2 o anche 3 volte.
    Impossibile! E' proprio per la presenza di duplicati non ammessi che dovrebbe impedire tutto ciò.
    Forse... essendo un'email dipende da come è memorizzato. Nel senso che quello che appare come indirizzo @ email . it (ho messo gli spazi intenzionalmente) in realtà è "molto di più". Per avere un'idea (anche riferito agli indirizzi internet) vedi qui:
    Lo importi magari in un campo "hyperlink" o compare come tale in excel?
Devi accedere o registrarti per scrivere nel forum
20 risposte