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 :

Petit soucis de jointure


Sujet :

Requêtes MySQL

  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 239
    Points
    20 239
    Par défaut Petit soucis de jointure
    Salut à tous,

    Je viens demander un peut d'aide car je suis bloquer avec une requetes sql qui ne me retourne pas tout à fait ce que je veux.

    J'ai une table enchère qui contient des encheres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE TABLE `encheres` (
      `id` int(11) NOT NULL auto_increment,
      `timestamp_add` bigint(20) NOT NULL,
      `timestamp_end` bigint(20) NOT NULL,
      `map` mediumint(9) NOT NULL,
      `nom_fr` varchar(255) NOT NULL,
      `url_image` varchar(255) NOT NULL,
      `description_fr` text NOT NULL,
      `nom_en` varchar(255) NOT NULL,
      `description_en` text NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
    Une table encheres_suite qui contient les encheres des différentes personnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    CREATE TABLE `encheres_suite` (
      `id` int(11) NOT NULL auto_increment,
      `id_membre` int(11) NOT NULL,
      `mise` int(11) NOT NULL,
      `id_enchere` int(11) NOT NULL,
      `timestamp_add` bigint(20) NOT NULL,
      `nom_membre` varchar(255) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ;
     
    -- 
    -- Contenu de la table `encheres_suite`
    -- 
     
    INSERT INTO `encheres_suite` (`id`, `id_membre`, `mise`, `id_enchere`, `timestamp_add`, `nom_membre`) VALUES 
    (1, 9, 51, 1, 1189591527, 'machin'),
    (2, 9, 21, 2, 1189591585, 'truc'),
    (3, 19, 61, 1, 1189591684, 'bidule'),
    Et une table membre qui contient les différentes infos des membre dont leur nom d'utilisateur.

    j'essai de récupérer toutes mes encheres ainsi que le meilleurs enchérisseur et bien entendu la mise de ce meilleurs encherisseur.
    J'ai donc fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT encheres.nom_fr, encheres_suite.id_membre, encheres_suite.mise, forums_users.username
    FROM encheres
    LEFT JOIN encheres_suite ON encheres.id = encheres_suite.id_enchere
    LEFT JOIN forums_users ON encheres_suite.id_membre = forums_users.id
    GROUP BY encheres.nom_fr, encheres.nom_en
    ORDER BY encheres_suite.mise ASC LIMIT 3
    Mais avec ceci je récupère le nom des enchères et le premier enchérisseur ainsi que ca première mise alors que je souhaiterais avoir le dernier (donc le meilleur enchérisseur)

    Si vous aviez une idée

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    SAluton,
    Plusieurs choses :
    A quoi sert de doublonner le nom du membre dans les tables forums_users et encheres_suite ?
    A quoi sert le GROUP BY sur les deux libellés anglais, puis français ?

    Enfin si tu veux l'enchère la plus élevée en premier :
    ORDER BY encheres_suite.mise DESC

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 239
    Points
    20 239
    Par défaut
    Citation Envoyé par Maljuna Kris Voir le message
    SAluton,
    Plusieurs choses :
    A quoi sert de doublonner le nom du membre dans les tables forums_users et encheres_suite ?
    Une erreur dans le copier coller de la table , il n'y a bien qu une fois le nom du membre dans la table forums_users
    Citation Envoyé par Maljuna Kris Voir le message
    A quoi sert le GROUP BY sur les deux libellés anglais, puis français ?
    Si je ne met pas le group by , la requete me retourne autant de fois le nom de l'enchere qu'il y'a d 'encheres. Le fait de grouper selon le nom francais et anglais est inutile , c'est exact.
    Citation Envoyé par Maljuna Kris Voir le message
    Enfin si tu veux l'enchère la plus élevée en premier :
    ORDER BY encheres_suite.mise DESC
    Non j'avais déjà essayer , dans un cas j'aurais :
    enchere1 9 51 machin
    enchere2 8 42 truc
    enchere3 9 33 bidule

    Et dans l'autre j'aurais :
    enchere3 9 33 bidule
    enchere2 8 42 truc
    enchere1 9 51 machin

    Qui représente à chaque fois les premiers enchérisseurs

Discussions similaires

  1. Petit souci avec les jointures (join on / join using)
    Par Ben-o dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/02/2013, 18h25
  2. [MySQL] Un petit soucis avec la requête, probablement à cause de la jointure
    Par gazouza dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/03/2006, 11h18
  3. petit soucis lors d'un LOAD DATA INFILE
    Par Jovial dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 04/06/2004, 11h58
  4. Réponses: 6
    Dernier message: 21/01/2004, 13h25
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52

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