Confronto tra tabelle e eliminazione e aggiornamento

di il
2 risposte

Confronto tra tabelle e eliminazione e aggiornamento

Buonasera a tutti.
Ho un database di indirizzi email che uso per le newsletters. Nella tabella "indirirzzi email" ho il campo "indirizzi email". Ogni volta ho circa 200-300 indirizzi nuovi da confrontare con quelli della tabella "indirizzi email" individuare quelli che ho già.
Il mio ragionamento è di mettere gli indirizzi da verificare in un'altra tabella e farli confrontare da una query, ma (oltre a non sapere bene come fare il confronto) vorrei che la query mi eliminasse dalla tabella degli indirizzi da confrontare, gli indirizzi che già ho lasciandomi solo quelli che non ho in modo che io possa copiare i rimanenti e incollarli nella tabella "indirizzi email". Forse sono stato un po' contorto, ma vorrei sapere se qualcuno potesse essere così gentile da suggerirmi come possa fare. Grazie

2 Risposte

  • Re: Confronto tra tabelle e eliminazione e aggiornamento

    Puoi usare una query INSERT INTO:
    SQL INSERT INTO Statement
    http://www.w3schools.com/sql/sql_insert.as

    con l'operatore IN
    SQL IN Operator
    http://www.w3schools.com/sql/sql_in.as

    per aggiungere una condizione negativa: NOT IN
  • Re: Confronto tra tabelle e eliminazione e aggiornamento

    robertocolucci ha scritto:


    Nella tabella "indirirzzi email" ho il campo "indirizzi email".
    Chiamerò NuovaTabella con omonimo campo [indirizzo email] (ti consiglio di usare il singolare per i nome campo)

    Io farei 2 step di ragionamento

    Step1)

    robertocolucci ha scritto:


    mettere gli indirizzi da verificare in un'altra tabella e farli confrontare da una query
    Giusto.
    1. Apri una query in visualizzazione struttura
    2. Importa le tabelle [Indirizzi e-mail] e [NuovaTabella]
    3. Trascina il mouse dal campo [Indirizzi email].[indirizzo email] verso [NuovaTabella].[indirizzo email]
    4. Noterai che Access disegna una linea di join che collega le 2 tabelle
    5. Trascina nella griglia i campi di entrambe le tabelle
    6. Esegui la query che ti mostrerà SOLO GLI [indirizzo email] CORRISPONDENTI

    Step2)

    robertocolucci ha scritto:


    vorrei che la query mi eliminasse dalla tabella degli indirizzi da confrontare, gli indirizzi che già ho lasciandomi solo quelli che non ho
    Sfrutta la procedura guidata di creazione "query ricerca dati non corrispondenti" riguardante le tue 2 tabelle. Leggi anche la guida in linea per vedere come si fa.

    robertocolucci ha scritto:


    solo quelli che non ho in modo che io possa copiare i rimanenti e incollarli nella tabella "indirizzi email"
    Una soluzione "volgare" prevede il copia/incolla della colonna [indirizzo email].
    Una soluzione più elegante (visto che prevedi di farlo spesso) è quello di trasformare quest'ultima query in "query di accodamento".

    Secondo me alla fine a te interessa "di fatto" solo Step2)...ma ho preferito risponderti alla lettera.
Devi accedere o registrarti per scrivere nel forum
2 risposte