|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2008
Messaggi: 210
|
[SQL] Inner Join tra due relazioni che hanno un'associazione N-M
Salve a tutti. Qualcuno sa dirmi come faccio a fare una una join usando la clausola INNER JOIN tra due relazioni che hanno un'associazione N-M?
Esempio, ho queste tre relazioni: STUDENTI:{matr, cognome, nome} ESAMI:{matr, codcorso} CORSI:{codcorso, docente} In questo caso le relazioni Studenti e Corsi hanno un'associazione N-M dalla quale nasce la relazione figlia "Esami". Come faccio a selezionare tutti gli studenti ed tutti i docenti alla quale hanno avuto a che fare? Ho provato così: SELECT studenti.cognome, esami.matr, esami.codcorso, corsi.docente FROM studenti INNER JOIN esami, corsi ON studenti.matr = esami.matr AND esami.codcorso = corsi.codcorso E questo l'errore che viene restituito: "#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON studenti.matr = esami.matr AND esami.codcorso = corsi.codcorso LIMIT 0, 30' at line 1" Ho provato anche: SELECT studenti.cognome, esami.matr, esami.codcorso, corsi.docente FROM studenti, corsi INNER JOIN esami ON studenti.matr = esami.matr AND esami.codcorso = corsi.codcorso E questo l'errore che viene restituito: "#1054 - Unknown column 'studenti.matr' in 'on clause'" Insomma, come posso fare? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
i campi che selezioni sono da dichiarare come <nometabella>.<campo>
la prima query era errata perchè cercavi di fare con una sola join l'unione di 3 tabelle
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:25.











ho concluso con: kvegeta, doctordb, Leland Gaunt.








