Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Access] Unione di 2 tabelle

    salve a tutti,
    ho 2 tabelle che hanno una relazione 1 a 1 tramite il campo ID.
    Quello che vorrei fare è una tabella unione dei record correlati dall'ID, con i più anche i record che non hanno una relazione con ID
    in pratica ho queste 2 tabelle:

    Nominativi
    codice:
    ID NOME      COGNOME
    1  Pippo         Baudo
    2  Giuseppe    Garibaldi
    3  Marco        Polo
    4  Mario         Bianchi
    Indirizzi
    codice:
    ID   INDIRIZZO   CITTA
    1    Via Poma     Torino
    2    Via Cerza     Roma
    3    Via Licatta   Catania
    4    Via Mare      Milano
    5    Via             Via
    quello che vorrei realizzare è una tabella del genere:

    Unione

    codice:
    ID NOME      COGNOME      ID   INDIRIZZO      CITTA
    1  Pippo         Baudo     1    Via Poma        Torino
    2  Giuseppe    Garibaldi   2     Via Cerza       Roma
    3  Marco        Polo        3     Via Licatta      Catania
    4  Mario         Bianchi    4      Via Mare        Milano
                                  5      Via               Via
    Ho provato la seguente select
    codice:
    SELECT Nominativi.ID AS Nominativi_ID, Nominativi.NOME, Nominativi.COGNOME, Indirizzi.ID AS Indirizzi_ID, Indirizzi.INDIRIZZO, Indirizzi.CITTA
    FROM Indirizzi INNER JOIN Nominativi ON Indirizzi.[ID] = Nominativi.[ID];
    ma restituisce una tabella del genere:
    codice:
    ID NOME      COGNOME          ID   INDIRIZZO      CITTA
    1  Pippo         Baudo         1    Via Poma        Torino
    2  Giuseppe    Garibaldi      2     Via Cerza       Roma
    3  Marco        Polo           3     Via Licatta      Catania
    4  Mario         Bianchi       4      Via Mare        Milano

    Come posso sistemarla?
    Grazie

  2. #2
    ho provato cambiando la query cosi (sempre in Access):
    codice:
    SELECT Nominativi.ID AS Nominativi_ID, Nominativi.NOME, Nominativi.COGNOME, Indirizzi.ID AS Indirizzi_ID, Indirizzi.INDIRIZZO, Indirizzi.CITTA
    FROM Indirizzi FULL OUTER  JOIN Nominativi ON Indirizzi.[ID] = Nominativi.[ID];
    ma mi da errore di sintassi.
    un aiuto?

  3. #3
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Innanzitutto è sempre scomodo avere nome di campi uguali su tabelle diverse,
    vedi che sei costretto per quei campi poi ad usare gli Allias

    Il tuo problema sta nel JOIN,
    In Access si usa LEFT JOIN oppure RIGHT JOIN
    per stabilire se si debbano prendere tutti i record
    di una tabella o dell'altra .......

    codice:
    SELECT 
    Nominativi.ID AS Nominativi_ID, 
    Nominativi.NOME, 
    Nominativi.COGNOME, 
    Indirizzi.ID AS Indirizzi_ID, 
    Indirizzi.INDIRIZZO, 
    Indirizzi.CITTA
    FROM 
    Indirizzi 
    LEFT JOIN 
    Nominativi 
    ON 
    Indirizzi.[ID] = Nominativi.[ID]
    ;

    .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.