Query dati non corrispondenti , solo quelli diversi

Anonimo
2019-09-07T02:24:55+00:00

Salve.

Avendo due elenchi e quindi due tabelle in cui vi sono dati simili, mi serve solo trovare i record dove varia il contenuto in un solo campo, non mi serve sapere se i record sono presenti sia nell'uno che nell'altro elenco.

Nella query dati non corrispondenti, il risultato da non solo i record con valori diversi, ma anche quelli che non ci sono nell'altra, bene a me occorre sapere solo i record con valori diversi in un solo campo.

Esempio

Tabella 1

Campo Cognome

Campo Nome

Campo Città

Campo Codice

Tabella 2

Campo Cognome

Campo Nome

Campo Città

Campo Codice

Tabella 1

Verdi - Sergio - Milano - 1234

Rossi - Michele - Torino - 4758

Tabella 2

Verdi - Sergio - Milano - 5678

il risultato della query è solo nei record di Verdi Sergio dove è cambiato il campo codice, non mi interessa che Rossi non c'è nella seconda tabella ma solo dove varia il campo codice e gli altri campi non variano.

Grazie

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

Risposta accettata dall'autore della domanda

Anonimo
2019-09-07T10:58:25+00:00

tuaPK è la chiave primaria della tabella, P=primary, K= key,

Se non hai chiavi primarie, usa il secondo predicato come consigliato in precedenza.

Ciao, Sandro.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2019-09-07T10:38:55+00:00

    Grazie sempre della tua disponibilità e celerità.

    Ho provato la seconda soluzione e funziona benissimo.

    Nella prima mi da errore immettere valore parametro

    tuaPKTabella1

    Cosa si intende per tuaPK ?

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2019-09-07T06:57:34+00:00

    predisponi un predicato sql che mette in join le chiavi primarie, se ci sono, con una clausola where impostata sulla diversità del codice, oppure mettti in join il nome ed il cognome delle due tabelle con la stessa clausola where.

    Del tipo :

    SELECT tabella1.Cognome, tabella1.Nome, tabella1.Città,

    tabella1.codice,

    tabella2.codice

    FROM tabella1 INNER JOIN tabella2 ON tabella1.tuaPKTabella1 = tabella2.tuaPKTabella2

    WHERE tabella1 .codice<>tabella2.codice;

    SELECT  tabella1.Cognome, tabella1.Nome, tabella1.Città, tabella1.codice, tabella2.codice

    FROM tabella1 INNER JOIN tabella2 ON (tabella1 .Cognome = tabella2.Cognome) AND (tabella1.Nome =

    tabella2.Nome)

    WHERE tabella1.codice<>tabella2.codice

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento