IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Classement qui ne fonctionne pas dans certains cas


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien d'exploitation informatique
    Inscrit en
    Avril 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien d'exploitation informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 88
    Points : 66
    Points
    66
    Par défaut Classement qui ne fonctionne pas dans certains cas
    Salut !

    J' ai deux tables :


    Table equipe :

    nomequipe nombrematch

    equipe1.........2
    equipe2.........5


    Table joueur

    nomjoueur victoire defaite nomequipe

    joueur1.......10.......2.....equipe1
    joueur2.......9........3.....equipe1
    Joueur3.......4........1.....equipe2
    joueur4.......25.......5.....equipe2


    J' ai une requete qui affiche :

    -Toutes les informations sur les equipes donc les colonnes : nomequipe ET nombrematch.
    -Une colonnes qui affiche la moyenne de la division victoire/defaite de tous les joueurs de l'équipe en question.
    -Une colonne qui affiche le classement de chaque equipe (classement par le nombre de match )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT E.nomequipe, E.nombrematch, 
      (
        SELECT AVG( victoire / defaite ) 
        FROM joueur 
        WHERE nomequipe = E.nomequipe
      ) AS moyenneratiojoueur,
      (
        SELECT 1 + COUNT( * ) 
        FROM equipe 
        WHERE  nombrematch > E.nombrematch
      ) AS rang
    FROM equipe AS E 
    ORDER BY nombrematch DESC
    Résulat :

    nomequipe nombrematch moyenneratiojoueur .........rang


    equipe2.........5..............4,5..car (4/1 + 25/5)/2.....1
    equipe1.........2..............4....car (10/2 + 9/3)/2......2

    Mon problème est que si j' essaye de faire le classement par moyenneratiojoueur la requete ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT E.nomequipe, E.nombrematch, 
      (
        SELECT AVG( victoire / defaite ) 
        FROM joueur 
        WHERE nomequipe = E.nomequipe
      ) AS moyenneratiojoueur,
      (
        SELECT 1 + COUNT( * ) 
        FROM equipe 
        WHERE  moyenneratiojoueur > E.moyenneratiojoueur
      ) AS rang
    FROM equipe AS E 
    ORDER BY moyenneratiojoueur DESC
    -> #1054 - Unknown column 'E.moyenneratiojoueur' in 'where clause'

    Comment y remedier ? SVP

    Merci d'avance

    Pour vous facilité la tâche je vous pouvez tester directement vos requête ici :

    [URL de PHPmyAdmin] : http://furiousland.teamfr.com/cgi-bin/mysql/
    [Identifiant MYSQL] : dbase20988
    [Mot de passe MYSQL] : RrTeat&xCZ

    ou télécharger la base de donnée : http://www.sendspace.com/file/fcu616

  2. #2
    Membre habitué Avatar de lou-03
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 156
    Points : 153
    Points
    153
    Par défaut
    Salut,

    C'est normal, dans ta table équipe tu n'as pas de champ moyenneratiojoueur, donc E.moyenneratiojoueur n'esxiste pas. En revanche moyenneratiojoueur existe mais c'est une variable et non pas un champ de table.

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien d'exploitation informatique
    Inscrit en
    Avril 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien d'exploitation informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 88
    Points : 66
    Points
    66
    Par défaut
    Merci pour ta réponse,

    quel serait alors la requête adéquate ?

    STP

    Merci encore d'avance !

  4. #4
    Membre habitué Avatar de lou-03
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 156
    Points : 153
    Points
    153
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      (
        SELECT 1 + COUNT( * ) 
        FROM equipe 
        WHERE  moyenneratiojoueur > E.moyenneratiojoueur
      ) AS rang
    Cette requête est-elle vraiment utile?
    Car le simple orderby moyenneratiojoueur te donnera les joueurs dans l'ordre de classement.

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien d'exploitation informatique
    Inscrit en
    Avril 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien d'exploitation informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 88
    Points : 66
    Points
    66
    Par défaut
    oui j'ai besoin de cette requête, elle permet de donner la position de l'équipe, j'ai besoin de cette colonne

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/12/2009, 22h26
  2. le programme ne s'execute pas dans certains cas
    Par djaval0221 dans le forum C++
    Réponses: 2
    Dernier message: 15/05/2008, 15h14
  3. function javascript qui ne fonctionne pas dans la balise <body>
    Par typikal dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/04/2008, 16h45
  4. Réponses: 6
    Dernier message: 22/05/2007, 09h55
  5. [FTP] fopen qui ne fonctionne pas dans tous les contextes ..
    Par Christophe Charron dans le forum Langage
    Réponses: 6
    Dernier message: 15/06/2006, 10h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo