Confronto tra tabelle

di il
5 risposte

Confronto tra tabelle

Salve a tutti.
Ho il seguente problema: 2 tabelle che contengono la stessa chiave primaria.
tabella A:
id codice1
1 A
2 B
3 C

tabella B:
id codice2
1 EW
2 GF
4 LK

vorrei metterle insieme per ottenere:
id codice1 codice2
1 A EW
2 B GF
3 C (vuoto)
4 (vuoto) LK

La prima cosa che ho fatto è una query di selezione semplice che trovi i record comuni tra le due tabelle. Ma poi come faccio a far aggiungere i record incompleti (3 e 4) che sono presneti solo in una delle due tabelle?

p.s. ovviamente sono informazioni che potrebbero risiedere direttamente nella stessa tabella, ma volendo farle unire da Access...

5 Risposte

  • Re: Confronto tra tabelle

    galantik ha scritto:


    ...vorrei metterle insieme per ottenere:
    id codice1 codice2
    1 A EW
    2 B GF
    3 C (vuoto)
    4 (vuoto) LK

    La prima cosa che ho fatto è una query di selezione semplice che trovi i record comuni tra le due tabelle. Ma poi come faccio a far aggiungere i record incompleti (3 e 4) che sono presneti solo in una delle due tabelle?...
    Prima query:
    INSERT INTO T3
    SELECT *
    FROM [select ID from T1 union select ID from T2]. AS UnionT;
    Seconda query
    UPDATE (T3 LEFT JOIN T1 ON T3.ID = T1.ID) LEFT JOIN T2 ON T3.ID = T2.ID SET T3.Codice1 = [T1].[Codice1], T3.Codice2 = [T2].[Codice2];
    dove T1 è la tua Tabella A (mmmm, quegli spazi nei nomi, ma sono sicuro che è solo un esempio), T2 la Tabella B e T3 la Tabella finale.
    La prima query prende ID da entrambe le tabelle, ne fa la Union (automaticamente toglie i valori ripetuti) e popola il campo chiave primaria in T3 (questa l'ho costruita direttamente in SQL, non QBE). La seconda query è più intuitiva da QBE che non da SQL.
  • Re: Confronto tra tabelle

    Grazie Phil.
    Gentile e utile come sempre.
    Devo dire che da solo non ci sarei mai riuscito, quindi arriviamo a un'altra domanda: come hai fatto a imparare a scrivere queste query? Hai un qualche libro/articolo o altro da suggerirmi che mi aiuti a migliorarmi? Non sto tanto parlando di access quanto proprio, forse, di SQL...
    Grazie infinite di nuovo
  • Re: Confronto tra tabelle

    galantik ha scritto:


    ... Hai un qualche libro/articolo o altro da suggerirmi che mi aiuti a migliorarmi? Non sto tanto parlando di access quanto proprio, forse, di SQL...
    Grazie infinite di nuovo
    Figurati, sono "sfide" anche per me, non le scrivo tutti i giorni e mi "intrigano" (perché comunque so che posso riuscirci). Per il resto ti rispondo in MP, meglio.
  • Re: Confronto tra tabelle

    Grazie. Sei un grande!
  • Re: Confronto tra tabelle

    galantik ha scritto:


    Grazie. Sei un grande!
    Non son pratico di MP... è arrivato qualcosa?
Devi accedere o registrarti per scrivere nel forum
5 risposte