Confronto tra 2 tabelle ed aggiornare la 1^ tabella con i dati differenti.

Anonimo
2021-09-28T08:08:21+00:00

Buon giorno a tutti.

Ho due tabelle di dati da confrontare ( tblAzienda) e tblAzienda2 ( quest'ultima creata con dati importati da un foglio di calcolo e che alla fine elimino) per evidenziare i dati differenti tra le due ed importarli in tblAzienda.

Per fare ciò ho creato la seguente query:

INSERT INTO tblAzienda ( Matricola, Grado, Cognome, Nome, Comando, CodiceFiscale, Indirizzo )

SELECT tblAzienda.Matricola, tblAzienda.Grado, tblAzienda.Cognome, tblAzienda.Nome, tblAzienda.Comando, tblAzienda.CodiceFiscale, tblAzienda.Indirizzo

FROM tblAzienda RIGHT JOIN tblAzienda2 ON tblAzienda.ID_Azienda = tblAzienda2.ID_Azienda;

Però qualcosa non mi convince, cioè, ogniqualvolta la eseguo mi dice che aggiorna tot dati.

Non dovrebbe dirmi ( al secondo lancio della query) che non ci sono dati da aggiornare?

Mi aiutate a capire se qualcosa non va come dovrebbe oppure se la query è da migliorare?

Ringrazio chi mi aiuta in questo.

Ciao, Nicola.

Microsoft 365 e Office | Access | 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

8 risposte

Ordina per: Più utili
  1. Anonimo
    2021-09-29T07:16:18+00:00

    Buon giorno, ciao Mimmo.

    Non va ancora, non riesco a capire il motivo.

    Ad ogni lancio della query mi compare questo messaggio:

    Le 2 tabelle da confrontare hanno stessa formattazione con dati diversi tra loro, come da immagine seguente:

    Attendo un vostro consiglio per poter capire come sistemare la query per il mio scopo.

    Ciao, Nicola

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2021-09-28T15:53:56+00:00

    Ciao Mimmo.

    Si, hai inteso bene. Io voglio aggiungere i record assenti in tblAzienda, ma presenti in tblAzienda2.

    Proverò la tua soluzione e ti aggiornerò sul risultato ottenuto.

    Ciao, Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2021-09-28T15:26:32+00:00

    Ciao,

    Invece di

    WHERE (((tblAzienda.Matricola) Is Null));

    Io userei

    WHERE (((tblAzienda.Id_Azienda) Is Null));

    Se ho interpretato bene tu vuoi aggiungere i records assenti.

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2021-09-28T15:03:05+00:00

    Ciao Mimmo, buona sera.

    Grazie mille per il tuo cortese intervento.

    Intendi cosi:

    INSERT INTO tblAzienda ( Matricola, Grado, Cognome, Nome, Comando, CodiceFiscale, Indirizzo )

    SELECT tblAzienda.Matricola, tblAzienda.Grado, tblAzienda.Cognome, tblAzienda.Nome, tblAzienda.Comando, tblAzienda.CodiceFiscale, tblAzienda.Indirizzo

    FROM tblAzienda RIGHT JOIN tblAzienda2 ON tblAzienda.ID_Azienda = tblAzienda2.ID_Azienda

    WHERE (((tblAzienda.Matricola) Is Null));

    Purtroppo, ad ogni lancio la query mi dice di aggiornare tot righe.

    In realtà tra le due tabelle da confrontare ci sono pochi dati non corrispondenti e non migliaia come riporta la query.

    Cosa non va.

    Ciao, Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2021-09-28T14:15:49+00:00

    Ciao Nicola,

    Penso che nella query ti manca la Where che identifichi le assenze in tblAzienda (null)

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento