Query relazione molti a molti

di il
4 risposte

Query relazione molti a molti

Ciao a tutti

Ho costruito una relazione molti a molti tra una tabella "Eventi" e una tabella "Partecipanti"
Nella tabella "Eventi" sono presenti i campi: IDEvento, data, evento.
In quella "Partecipanti" sono presenti i campi: IDPartecipanti, Nome.
Nella tabella di collegamento ci sono i campi: IDEvento e IDPartecipanti.

Ho costruito poi una query per poter visualizzare tutti gli eventi ed i relativi partecipanti, il problema è che la query mi mostra solo gli eventi messi in relazione con i partecipanti mentre gli eventi a cui nessuno ha deciso di partecipare non compaiono.

Avrei bisogno di visualizzare l'elenco completo degli eventi, con o senza partecipanti, c'è qualcuno che mi potrebbe aiutare?

grazie
Luca

4 Risposte

  • Re: Query relazione molti a molti

    1. Vai in visualizzazione struttura query
    2. Clicca con il mouse destro sulla linea di join che collega Eventi a TabellaCongiunzione, quindi Modifica
    3. Devi scegliere il join di tipo 2. che ti consente di vedere tutti gli Eventi, anche quelli "non partecipati".
    4. Salva la query
  • Re: Query relazione molti a molti

    Ciao Osvaldo. grazie per la risposta

    ho provato a scegliere il join tipo 2, ma poi mi da questo errore:

    "Impossibile eseguire l'esecuzione SQL in quanto contiene outer join ambigui. Per impostare l'istruzione in modo che uno dei join venga eseguito per primo,creare una query separata che esegue il primo join, quindi includere la query nell'istruzione SQL"

    Ho sbagliato qualcosa? oppure devo creare 2 query separate e poi includere in qualche modo la prima nell'sql dell'altra?
  • Re: Query relazione molti a molti

    Hai ragione. Prova una delle seguenti possibili soluzioni.

    A) In visualizzazione struttura query, clicca con il mouse destro sulla linea di join che collega Partecipanti e TabellaCongiunzione, scegli Modifica, poi tipo 3. Salva tutto.

    B)
    1. Crea una query in cui importi le sole tabelle Eventi e TabellaCongiunzione.
    2. Cambia il tipo di join in tipo 2.
    3. Nella query abbi cura di includere anche il campo IDPartecipante
    3. Salva la query con nome Query1
    4. Crea una seconda query in cui importi Query1 e Partecipanti
    5. Unisci la linea di join da Partecipanti.IDPartecipante a Query1.IDPartecipante (io credo che possa essere anche di tipo 1)
    6. Salva con nome Query2

    Per la soluzione A) è l'unico tentativo che non mi ha dato errore, ma non saprei se restituisce i risultati attesi.
    La soluzione B) tenta di rispettare il suggerimento proposto dalla finestra di errore.
  • Re: Query relazione molti a molti

    Grazie Osvaldo!!! Risolto anche questa volta!!!
    Funziona la soluzione B con join di tipo 2

    Grazie ancora
    Luca
Devi accedere o registrarti per scrivere nel forum
4 risposte