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

 MySQL Discussion :

problème choix d'une jointure dans requête sur plusieurs tables


Sujet :

MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Points : 83
    Points
    83
    Par défaut problème choix d'une jointure dans requête sur plusieurs tables
    bonjour,

    étant assez débutant en mysql, je dois faire une requête sur plusieurs tables mais je ne sais pas vraiment quelle jointure utiliser.

    je dois comptabiliser le nombre de marchandise livrée par un chauffeur.

    les marchandises se retrouvent dans une commande.
    La tournée de la livraison comprend plusieurs commandes et est effectuée par un chauffeur.

    j'arrive bien à comptabiliser tous mes produits livrés (par tous les chauffeurs) avec la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT  boncomporte.refarticle, article.NOMARTICLE_FR, SUM(boncomporte.quantite) as Somme
    FROM BON
    INNER JOIN BONCOMPORTE USING(REFBON)
    INNER JOIN ARTICLE USING(REFARTICLE)
    GROUP BY refarticle
    ORDER BY Somme DESC

    voici les tables que je dois utiliser pour calculer la somme des marchandises livrées par tel ou tel chauffeur :

    Table bon : refbon
    Table boncomporte : refbon, refarticle, quantite
    Table article : refarticle, nomarticle_FR
    Table feuilleroute : refroute, refchauffeur
    Table feuilleroutecomporte : refroute, refbon
    Table chauffeur : refchauffeur, refroute


    merci de vos éclairsissements.

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 040
    Points : 23 795
    Points
    23 795
    Par défaut
    Bonjour,

    Curieux que dans le schéma décrit, les tables feuilleroute et chauffeur soient composées des mêmes champs . Pourquoi refroute dans chauffeur ?
    Sinon, voilà une requête qui doit faire ce que tu recherches (le nombre d'articles livrés par chauffeur) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select c.refchauffeur, sum(bc.quantite)
    from chauffeur c
    inner join feuilleroute fr on c.refchauffeur = fr.refchauffeur
    inner join feuilleroutecomporte frc on fr.refroute = frc.refroute
    inner join boncomporte bc on frc.refbon = bc.refbon
    group by c.refchauffeur
    Si il faut le détail par article pour chaque chauffeur, il faut ajouter bc.refarticle dans la ligne de sélection et dans le group by (ou alors, refaire une jointure sur article pour remplacer refarticle par le nom de l'article).

    ced

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Points : 83
    Points
    83
    Par défaut
    excuses-moi, en effet il y avait une erreur dans mon explication.

    dans la table chauffeur : refchauffeur, nomchauffeur.

    Je vais un peu essayer et voir ce que cela donne.

    merci !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/07/2011, 09h51
  2. [AC-2003] Requête sur plusieurs tables dans une seule liste
    Par tarnx dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/12/2009, 12h36
  3. Question pour une requête sur plusieurs tables/objets
    Par pontus21 dans le forum Hibernate
    Réponses: 54
    Dernier message: 01/06/2009, 19h37
  4. faire une requête sur plusieurs tables
    Par julien.63 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 16/08/2006, 23h58
  5. suite au problème de requête sur plusieur table
    Par michelGProuq dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/07/2006, 17h19

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