Requete sql, classement match

cs_cecile15 Messages postés 4 Date d'inscription samedi 24 janvier 2009 Statut Membre Dernière intervention 20 mars 2009 - 20 mars 2009 à 09:40
cs_cecile15 Messages postés 4 Date d'inscription samedi 24 janvier 2009 Statut Membre Dernière intervention 20 mars 2009 - 20 mars 2009 à 20:23
Bonjour,

Je me permets de solliciter votre aide pour réaliser en SQL les scores des équipes puis de les classer.

Victoire : 3 points; Egalité: 2 points, Défaite: 1 point puis en cas d'égalité nombre de buts gagnés-nombre de buts encaissés.

J'ai essayé mais je ne parviens pas à réaliser la requete. Voici la structure de ma table,

- equipe(id_equipe, nom_equipe, type)

-tournoi(id_tournoi, nom_tournoi)

-matchs(id_match, resultat_match, date_match, lieu_match, #equipe_dom, #equipe_ext, #id_tournoi)

un exemple d'insertion:

INSERT INTO matchs` (`id_match` ,`resultat_match` ,`date_match` ,`lieu_match` ,`equipe_dom` ,`equipe_ext` ,`id_tournoi` )

VALUES (NULL , '5-7', '2009-03-10', 'paris', '10', '4', '1');

Le champ résultat_match est en varchar donc je convertis comme ceci:

CAST(left(resultat_match, 1) as UNSIGNED)

CAST(right(resultat_match, 1) as UNSIGNED)

exemple des essais de la requete: if ($score_dom>$score_ext)

{

echo $row['NOM_EQUIPE_DOM']." ";

$point=count($score_dom)*3;

echo $point;

}

etc.

Je ne sais pas si c'est la bonne méthode à faire et je n'arrive pas à réaliser cette requete.

Merci d'avance

2 réponses

PascalCmoa Messages postés 239 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 17 janvier 2013 5
20 mars 2009 à 15:19
Bonjour,

Déjà je vois un truc qui ne me plaît pas. Si l'une des équipes dépasse 10 tu auras soit 1 dans le cas 10-x soit 0 dans le cas x-10. Ce n'est pas logique.
De plus que veux-tu faire ?
Récupérer les données d'un match, d'une équipe, qui à le meilleur score ?
Pose ta question car là on est dans le flou.

a+

PascalCmoa
[mailto:pascal.aknouche@free.fr email: PascalCmoa]
0
cs_cecile15 Messages postés 4 Date d'inscription samedi 24 janvier 2009 Statut Membre Dernière intervention 20 mars 2009
20 mars 2009 à 20:23
Bonsoir,

Merci de m'avoir répondu. Je réalise actuellement un site sportif qui va mettre en ligne les scores et les classements des équipes.
En effet, j'ai un 1er problème au
niveau du score, si le score est à deux chiffres, ce ne sera pas bon, mais je
cherche à résoudre ce problème actuellement.
Ma question porte plutot sur la
récupération des données pour ensuite faire un classement.
- Lorsqu'une équipe
gagne elle a 3 points,
- En cas d'égalité, chacune a 2 points
- En
cas de défaite elle a 1 point .
Si les deux équipes ont même points, pour déterminer leur classement, on fait : buts marqués - buts encaissés.

J'ai commencé à réaliser ceci sous phpmyadmin mais je pense que ce n'est pas la bonne
méthode à faire :

SELECT
CAST(left(resultat_match, 1) as UNSIGNED) as score_dom,
CAST(right(resultat_match, 1) as UNSIGNED) as score_ext, count(*), count(*)*3, equipe_dom, equipe_ext
from matchs where
CAST(left(resultat_match, 1) as UNSIGNED)< CAST(right(resultat_match, 1) as UNSIGNED)

Je vous remercie d'avance
0
Rejoignez-nous