Requete sql, classement match

Signaler
Messages postés
4
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
20 mars 2009
-
Messages postés
4
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
20 mars 2009
-
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

Messages postés
239
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
17 janvier 2013
5
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]
Messages postés
4
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
20 mars 2009

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