Buonasera a tutti...sono nuovissimo in questo forum...
Vi presento subito il mio problema: ho 3 tabella (Professori, Materie e Valutazioni) le quali sono formate da questi campi
Professori Materie Valutazioni
Id_Professore|Nome|Cognome| |Id_Materia|Nome|Id_Professore|Colore|Id_Professore2| |Id_Voto|Voto|Id_Materia
Vorrei far visualizzare di ogni materia:
- la media;
e
- i suoi professori sia che ce ne sia solo uno, sia che ne ne siano 2...come posso risolverlo?
Mi serve solo la Query...
La mia soluzione era questa ma so che è sbagliata...
SELECT Materie.Id_Materia AS Id_Materia, Materie.Nome AS Materia, ROUND(AVG(Voto),2), P1.Nome AS NomeProf, P1.Cognome
AS CognomeProf, P2.Nome AS NomeProf2, P2.Cognome AS CognomeProf2, Colore
FROM Materie, Professori AS P1, Professori AS P2, Valutazioni
WHERE
Valutazioni.Id_Materia = materie.Id_Materia AND
(P1.Id_Professore = Materie.Id_Professore OR P2.Id_Professore = Materie.Id_Professore2) OR
(P1.Id_Professore = Materie.Id_Professore AND P2.Id_Professore = Materie.Id_Professore2)
GROUP BY
Materia, NomeProf, CognomeProf, NomeProf2, CognomeProf2, Colore;