INDIVIDUARE E TRASFERIRE VALORI DUPLICATI TRA PIU' TABELLE

di il
5 risposte

INDIVIDUARE E TRASFERIRE VALORI DUPLICATI TRA PIU' TABELLE

Ciao,
Problema: devo individuare e trasferire in altra tabella duplicati dei soli valori numerici esistenti dal confronti di due o più tabelle. Altri campi potrebbero contenere valori uguali non numerici (nomi, sugle ecc..)
esempio
tabella A
campo 1 campo 2 campo 3 campo ecc...
2378654456 4543245 67534536 CC-TR-VV
tabella B
campo 1 campo 2 campo 3 campo ecc...
4543245 45432456 4567652536 CC-TR-VV

Il risultato della query sarebbe 4543245 che è il numero duplicato presente in entrambe le tabelle.
Grazie per quanti vorranno formnire indicazioni

5 Risposte

  • Re: INDIVIDUARE E TRASFERIRE VALORI DUPLICATI TRA PIU' TABELLE

    Hai valutato prima di procedere con la tua soluzione, il PERCHE' ti trovi ad avere Tabelle con dati DUPLICATI...?

    Darti una soluzione mi costerebbe poco..., ma concettualmente lo scenario che esponi è formalmente ERRATO, nel senso che quando si struttura un DB il PRIMO PRINCIPIO è quello di evitare la duplicazione o dispersione dei dati...

    I principi di cui parlo si chiamano NORMALIZZAZIONE dei Database, esistono 5 REGOLE base che vanno osservate e che sono il soggetto principale di libri di testo molto Avanzati... quindi perchè ignorarle...?
  • Re: INDIVIDUARE E TRASFERIRE VALORI DUPLICATI TRA PIU' TABELLE

    Ciao Alex, hai ragione ma io, che sono il cc che si occupa dei tabulati telefonici a cui hai risolto l'altro problema esposto, ho necessità di individuare su un grosso quantitativo di dati telefonici importati in access, i duplicati che dal mio punto di vista non rappresentano un errore da evitare, ma sono significativi ai fini di altri accertamenti.
    spero di essermi spiegato meglio e ti ringrazio per quanto potrai suggerire.
  • Re: INDIVIDUARE E TRASFERIRE VALORI DUPLICATI TRA PIU' TABELLE

    Ho capito che non usi Access come un Database Strutturato ma solo come base di Ricerche, Incroci ed estrazione dati...!

    Detto questo se vai nell'autocomposizione delle Query, trovi un'opzione...
    "Query di Ricerca duplicati"

    Fai una prova e vedi se soddisfa la richiesta.
  • Re: INDIVIDUARE E TRASFERIRE VALORI DUPLICATI TRA PIU' TABELLE

    Dall'esempio che fai, il valore 4543245 è presente nei campi A.Campo2 e B.Campo1.
    La query ricerca duplicati non si può applicare in questo caso. Se devi ricercare/riconoscere i dati dai campi indipendentemente quali essi siano, c'è da fare tutt'altro lavoro. Ma così sparpagliati a caso, non è affatto possibile riconoscere eventuali uguaglianze.
    Se i campi numerici di cui parli non sono troppi, forse avrei una idea spartana in mente, ma dovresti elencare esattamente quanti e quali essi sono.
    Spero di aver capito bene la domanda.
  • Re: INDIVIDUARE E TRASFERIRE VALORI DUPLICATI TRA PIU' TABELLE

    Potresti utilizzare questa idea, completandola o modificandola per il tuo caso:


    select * from (
    SELECT 'Campo1' as campo, TabellaA.Campo1 as valore FROM TabellaA
    union
    SELECT 'Campo2', TabellaA.Campo2 FROM TabellaA
    union
    SELECT 'Campo3', TabellaA.Campo3 FROM TabellaA
    union
    SELECT 'Campo4', TabellaA.Campo4 FROM TabellaA
    ) a,
    (
    SELECT 'Campo1' as campo, TabellaB.Campo1 as valore FROM TabellaB
    union
    SELECT 'Campo2', TabellaB.Campo2 FROM TabellaB
    union
    SELECT 'Campo3', TabellaB.Campo3 FROM TabellaB
    union
    SELECT 'Campo4', TabellaB.Campo4 FROM TabellaB
    ) b
    where a.valore=b.valore
    ;
Devi accedere o registrarti per scrivere nel forum
5 risposte