Php/requete
daikidan
Messages postés
18
Statut
Membre
-
daikidan Messages postés 18 Statut Membre -
daikidan Messages postés 18 Statut Membre -
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
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:
- Php/requete
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php ✓ - Forum PHP
- Php alert ✓ - Forum PHP
- Alert PHP - Forum PHP
3 réponses
Bonjour,
Je n'ai pas testé ... mais quelque chose de ce genre pourrait correspondre à tes besoins
Cordialement,
Jordane
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
daikidan
Messages postés
18
Statut
Membre
merci Jordane jvais tester
daikidan
Messages postés
18
Statut
Membre
jai fais une mise a jour de mon poste, jpense quil est plus clair maintnt
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
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:
Cdlmnt,
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,
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,
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,