Php/requete

daikidan Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
daikidan Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
bonjour j'ai besoin de votre aide !!!

jai trois tables dans ma base : medicalQuiz, marketingQuiz et trainning

dont medicalQuiz et marketingQui ont exactement la même structure

medicalQuiz:
id - idCandidat - Score
1 - 5 - 7
2 - 2 - 8
3 - 3 - 2
4 - 1 - 1 (par exemple)

marketingQuiz:
id - idCandidat - Score
1 - 5 - 3
2 - 2 - 5
3 - 3 - 1
4 - 1 - 6 (par exemple)

trainningQuiz:
id - idCandidat - Score
1 - 5 - 5
2 - 2 - 10
3 - 3 - 8
4 - 1 - 2 (par exemple)

mon probleme est le suivant :

je souhaite récupérer le score maximal des trois tables , les additionner puis diviser le resultat par trois


dans notre cas ca doit donner : (8 + 6 + 10)/3

aider moi svp . merci
A voir également:

3 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Je n'ai pas testé ... mais quelque chose de ce genre pourrait correspondre à tes besoins
SELECT  Tresult.idCandidat
      , AVG(Tresult.MScore_T1,Tresult.MScore_T2,Tresult.MAvg) as RESULTAT_MOYENNE
FROM (
     (SELECT idCandidat,MAX(Score) as MScore_T1
      FROM medicalQuiz
      GROUP BY idCandidat)T1
     UNION
     (SELECT idCandidat,MAX(Score) as MScore_T2
      FROM marketingQuiz
      GROUP BY idCandidat)T2
     UNION
     (SELECT idCandidat,MAX(AVG(Score)) as MAvg
      FROM marketingQuiz
      GROUP BY idCandidat)T3
    )Tresult
GROUP BY Tresult.idCandidat
ORDER BY RESULTAT_MOYENNE DESC



Cordialement,
Jordane
1
daikidan Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
merci Jordane jvais tester
0
daikidan Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
jai fais une mise a jour de mon poste, jpense quil est plus clair maintnt
0
[TiDi] Messages postés 126 Date d'inscription   Statut Membre Dernière intervention   262
 
Je ne peux pas t'aider précisément car ça fait très longtemps que je n'ai pas touché au PHP mais pour la valeur max et la moyenne va voir du côté de MySQL, il me semble que tu peux faire des calculs directement dans les requêtes sinon, tu récupères toutes les valeurs et tu calcules tout en PHP
0
daikidan Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Merci quand meme
0
kodatrololo Messages postés 455 Date d'inscription   Statut Membre Dernière intervention   129
 
Bonjour,

Je comprends pas bien ce vous voulez faire.
Vous parlez des "meilleurs score", mais quel est le critère de selection des meilleurs score
Ensuite la meilleur moyenne de la table training qui va être additionnez aux meilleurs score pour a nouveau faire un moyenne et trouver le meilleur candidat ?

C'est très confus.

Avec ce que je comprends, vous cherchez à faire quelque chose comme ça:
Select T.candidat, sum(T.note, KQ.Score, DQ.score)/3 as result  from trainning T inner join marketingQuiz KQ on T.candidat=KQ.idCandidat inner join medicalQuiz DQ on DQ.idCandidat=KQ.idCandidat order by sum(T.note, KQ.Score, DQ.score) desc limit 1


Cdlmnt,
0
daikidan Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
je suis désolé pour mon mank d precision , mais cke vou avez mavance enormement n serai cke par la synthax ...

jvais de ce pa donner plus de precision ..... encore pardon
0
daikidan Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
jai fais une mise a jour de mon poste, jpense quil est plus clair maintnt !
0
kodatrololo Messages postés 455 Date d'inscription   Statut Membre Dernière intervention   129
 
Effectivement !

Par contre ce que je ne comprends pas bien, c'est pourquoi vous voulez mélanger les notes de plusieurs idCandidat différent. Car votre moyenne là "(8 + 6 + 10)/3" c'est la moyenne des candidat respectivement 2, 1 et 2.
Donc vous voulez juste faire la moyenne des meilleurs notes sans distinction entre les candidats, et non de trouver le candidat qui à la meilleur moyenne sur base des 3 catégories confondus ?

Cdlmnt,
0
daikidan Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Cest un jeu a 22 candidats qui doivent jouer a trois quiz de 10 questions notées sur 10 , moi jveux juste trouver celui ki eu le meilleur score ,

et dans mon exemple plus haut , cest le cas de 4 candidats
0