PDA

View Full Version : [sql] Problema con query


kratteo
20-11-2005, 12:50
allora..
il problema č questo:

ho una tabella diquesto tipo
id_voto (primaria) | id_alunno (esterna) | id_materia (esterrna) | voto_orale | voto_scritto | ...

da qui devo estrapolare vari valori..
tra cui la media della media tra il voto orale e scritto in tutte le materie, con la condizione che l'id della materia venga utilizzata una singola volta

ovvero
id_alunno | media_totale |

ho provato a fare
SELECT id_alunno, DISTINCT id_materia, AVG(AVG(voto_orale),AVG(voto_scritto)) AS media totale
FROM voti
GROUP BY id_alunno
ORDER BY media_totale DESC;

in questo modo tutto ok con l'eccezione che nella media considera anche i campi in cui id_materia si ripete

se qualcuno puņ aiutarmi che sono giorni che do capocciate al muro :muro: :muro:

The3DProgrammer
20-11-2005, 21:47
allora..
il problema č questo:

ho una tabella diquesto tipo
id_voto (primaria) | id_alunno (esterna) | id_materia (esterrna) | voto_orale | voto_scritto | ...

da qui devo estrapolare vari valori..
tra cui la media della media tra il voto orale e scritto in tutte le materie, con la condizione che l'id della materia venga utilizzata una singola volta

ovvero
id_alunno | media_totale |

ho provato a fare
SELECT id_alunno, DISTINCT id_materia, AVG(AVG(voto_orale),AVG(voto_scritto)) AS media totale
FROM voti
GROUP BY id_alunno
ORDER BY media_totale DESC;

in questo modo tutto ok con l'eccezione che nella media considera anche i campi in cui id_materia si ripete

se qualcuno puņ aiutarmi che sono giorni che do capocciate al muro :muro: :muro:


prova un po

SELECT id_alunno, DISTINCT id_materia, AVG(AVG(DISTINCT voto_orale),AVG(DISTINCT voto_scritto)) AS media totale
FROM voti
GROUP BY id_alunno
ORDER BY media_totale DESC;

kratteo
20-11-2005, 23:01
ma in quel modo se l'alunno prende due 7 ne considera uno solo no?..non va bene :( :( :cry: :cry: