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 :

problème sur une requête mysql


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut problème sur une requête mysql
    Bonjour,

    Admettons une table 'membres' reliée à une table 'annnonces' par un champ appelé 'id_membre'
    Chaque membre peut avoir plusieurs annonces.

    Dans la table 'membres', j'enregistre l'id en auto_increment, le prénom et le nom du membre
    Dans la table 'annonces', j'enregistre l'id du membre (id_membre), et la date de l'annonce (date_annonce) et le texte de l'annonce (texte)

    En mysql, je veux récupérer le nom et le prénom de chaque membre, ainsi que la dernière annonce publiée par chaque membre
    Je fais :

    SELECT membres.prenom, membres.nom, MAX(annonces.date_annonce), annonces.texte
    FROM annonces
    LEFT JOIN membres ON membres.id=annonces.id_membre
    GROUP BY membres.id

    Le problème, c'est que cela me sélectionne bien la date de la dernière annonce, mais le texte de la première annonce publiée par le membre !!!

    Comment dois je faire pour récupérer le texte de la dernière annonce ? (en 1 seule requète si possible)

    Merci !

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Points : 375
    Points
    375
    Par défaut
    Normal, ton Max est mal placé, en effet la tu récupère juste la date maximale dans ta table annonce; pour faire ce que tu veux il faut que tu fasse :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT membres.prenom, membres.nom, annonces.date_annonce, annonces.texte
    FROM annonces
    LEFT JOIN membres ON membres.id=annonces.id_membre
    ORDER BY annonces.date_annonces DESC
    LIMIT 1
    ==> Tu tries ta date par ordre décroissant et tu récupère juste la 1ère ligne (donc obligatoirement l'annonce qui à été postée le + tard)

  3. #3
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    mais il cherche le dernier message par membre
    avec ta requete, il ne sélectionne que le denier message

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    oui, merci cybher tu as devancé ma réponse !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 390
    Points : 465
    Points
    465
    Par défaut
    salut.

    peut être en enlevant le limit et en gardant le order by.

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

Discussions similaires

  1. Problème avec une requête MySQL
    Par Downy35 dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/08/2006, 11h09
  2. besoin d'aide sur une requête mysql
    Par unmulot dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/07/2006, 13h17
  3. [Optimisation] Problème sur une requête UNION.
    Par françois62 dans le forum Requêtes
    Réponses: 5
    Dernier message: 28/06/2005, 16h08
  4. Problème sur une requête INSERT
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/06/2003, 08h45
  5. problème sur une requête!!!!!
    Par Mcgrady_01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/06/2003, 01h17

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