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

PHP & Base de données Discussion :

Utilisation des alias dans une requête [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Par défaut Utilisation des alias dans une requête
    Bonjour,
    J'ai la requete suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT ETUDIANT.IDETUDIANT, NOM, PRENOM, AGE, SEXE, IDMAT, AVG(VALEUR) 
    FROM ETUDIANT, NOTE  
    WHERE (IDCLASSE='$classe' AND ETUDIANT.IDETUDIANT = NOTE.IDETUDIANT) 
    GROUP BY ETUDIANT.IDETUDIANT 
    ORDER BY AVG(VALEUR) DESC
    Dans cette forme la requete s'execute parfaitement. Mais lorsque je la modifie en utilisant des alias comme ci-dessous, elle ne s'execute plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT e.IDETUDIANT, NOM, PRENOM, AGE, SEXE, IDMAT, AVG(VALEUR) 
    FROM ETUDIANT AS e, NOTE AS n 
    WHERE (IDCLASSE='$classe' AND e.IDETUDIANT = n.IDETUDIANT) 
    GROUP BY e.IDETUDIANT 
    ORDER BY AVG(VALEUR) DESC
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT e.IDETUDIANT, NOM, PRENOM, AGE, SEXE, IDMAT, AVG(VALEUR) 
    FROM ETUDIANT e, NOTE n 
    WHERE (IDCLASSE='$classe' AND e.IDETUDIANT = n.IDETUDIANT) 
    GROUP BY e.IDETUDIANT 
    ORDER BY AVG(VALEUR) DESC
    S'il vous plait, pourriez m'aider à utiliser des alias dans une requete. Merci

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Essaie avec l'écriture normalisée des jointures :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT e.IDETUDIANT, e.NOM, e.PRENOM, e.AGE, e.SEXE, n.IDMAT, AVG(n.VALEUR) AS Moyenne
    FROM ETUDIANT e
    LEFT OUTER JOIN NOTE n ON e.IDETUDIANT = n.IDETUDIANT
    WHERE n.IDCLASSE = $classe 
    GROUP BY e.IDETUDIANT
    ORDER BY Moyenne DESC
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Par défaut
    Bonjour CinePhil,
    La requete ne s'execute toujours pas. J'a inséré un après la requete et j'ai obtenu
    Unknown column 'n.IDCLASSE' in 'where clause'

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Ne connaissant pas la structure de tes tables, j'ai supposé que IDCLASSE faisait partie de la table NOTE.
    Apparemment ce n'est pas le cas, à toi de corriger.
    Comme tu as pu le constater, j'ai mis l'alias partout ; c'est mieux, on ne se pose pas la question de savoir d'où vient la colonne.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Par défaut
    Effectivement, IDCLASSE viens de la table ETUDIANT. En corrigeant donc avec e.IDCLASSE ça marche parfaitement.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation des index dans une requête
    Par sanouphil dans le forum Débuter
    Réponses: 60
    Dernier message: 10/11/2010, 16h25
  2. [AC-2007] pb pour utiliser des options dans une requête
    Par tibofo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 20/07/2010, 21h24
  3. Utilisation des parametres dans une requéte
    Par ange_dragon dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/06/2007, 09h32
  4. Utiliser des "SI" dans une requête access ?
    Par shaenwe dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 14/03/2007, 12h25
  5. Comment utiliser des variables dans une requête SQL ?
    Par Ragnarok85 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 12/02/2007, 16h23

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