Optimisation

Résolu
nemetos Messages postés 54 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 15 octobre 2009 - 3 mars 2008 à 12:08
nemetos Messages postés 54 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 15 octobre 2009 - 17 mars 2008 à 16:50
Pizza Dude

4 réponses

nemetos Messages postés 54 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 15 octobre 2009
17 mars 2008 à 16:50
finalement voici comment agrégé une jointure

update 
   joueurs a 
   inner join (select  b.num_mat, sum(b.points) / sum(b.nb_match) as nt from perf b where saison='2007/2008' group by b.ident)  c
   on a.num_mat = c.num_mat
set a.note = nt

Pizza Dude
3
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
3 mars 2008 à 12:12
Salut,

Peut tu reposer la question stp ...

Si t'a besoin d'aide, MP !!!
0
nemetos Messages postés 54 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 15 octobre 2009
3 mars 2008 à 13:10
Pizza Dude
0
nemetos Messages postés 54 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 15 octobre 2009
3 mars 2008 à 13:10
Mince y a eu une erreur de manip
je vourdrais optimiser cette requete
update
joueurs a
set a.note =
(
select
sum(b.points)/sum(b.nb_match)
from
perf b
where
a.num_mat = b.num_mat and
saison ='2007/2008'
group by b.num_mat
)

en un truc du style :

update
joueurs a
inner join perf b on a.num_mat b.num_mat and b.saison '2007/2008'
set
a.note = b.points / b.nb_match

Le problème c'est qu'un joueur peut avoir plusieurs entrée dans perf dans une même saison. Il faudrait agréger mais je sais pas comment.
le 1ere requete me plait pas parce qu'il y a autant de sous-requete que de joueurs.
Une idée ?
Merci.

Pizza Dude
0
Rejoignez-nous