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 de requête (COUNT, GROUP BY) sur plusieurs tables [MySQL-5.6]


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2
    Par défaut Problème de requête (COUNT, GROUP BY) sur plusieurs tables
    Bonjour à toutes et à tous,

    Je suis nouveau sur ce forum, mais j'ai souvent pu trouver, grâce à beaucoup d'entre vous, de nombreuses réponses à mes questions. Mais aujourd'hui, j'ai décidé de m'adresser directement à vous !

    [Je travaille pour le moment en local avec WAMP (Apache 2.4.9 et MYSQL 5.6.17)]

    Le topo de mon problème :
    • j'ai une table color (id, label, label_fr) => [ex : 1 - white - blanc / 2 - blue - bleu]
    • et j'ai cinq tables dress, jacket, pants, skirt et tshirt qui ont toute la même structure
    (id, id_member, label, size, picture, date, color_id, brand_id, date_of_purchase) => [ex : 1 - 1 - 'mon t-shirt' - 'M' - 'img.jpg' - '2014-10-01' - 2 - 1 - '2014-09-21']

    Mon but étant de rassembler, parmi les 5 tables, le nombre de fois, par membre, qu'apparaissent les couleurs ajoutées.

    Exemple : Pour le membre id = 1, la couleur du tshirt ajouté id = 2 est égale à bleu, donc s'il ajoute une veste (table jacket) bleu, alors je ressortirais un COUNT pour le groupe "bleu" = 2.

    Vous me suivez ? ^^'

    J'ai donc fait cela pour une table, et ca fonctionne bien, seulement lorsque j'ai voulu travailler en une requête pour les 5 tables ... ERROR, TRY AGAIN !

    Ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT c.label_fr, COUNT(t.color_id) AS compter 
    FROM jmh_tshirt t, jmh_color c
    WHERE t.color_id = c.id
    AND t.id_member = 1
    GROUP BY t.color_id
    ORDER BY compter DESC
    Pour l'exemple, cela me ressort : noir - 1 / gris - 2

    Voilà, s'il vous faut plus d'informations n'hésitez pas.
    Merci de votre attention

    Bien cordialement, Alexis

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Formateur
    Inscrit en
    Octobre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 6
    Par défaut MCD, Vue
    Bonjour,

    Je n'ai pas vraiment compris ce que vous entendez par "ajouter". C'est dans une commande client ou fournisseur, ou quelque chose de voisin ... ?

    Quoiqu'il en soit, votre texte me suggère la remarque suivante :
    * 5 table de la même structure :
    Il faudrait peut-être les fusionner en une seule avec un attribut en plus : le type de vêtement (veste, Tshirt, ...)
    * au besoin créer 5 vues avec un discriminant sur le type de vêtement (vue veste (type = 1), vue Tshirt (type=2), ...)
    * Et peut-être que votre question .... et beaucoup d'autres choses (comme les requêtes, les écrans, et l'insertion future d'un nouveau type de vêtement (exemple les accessoires) ) seraient plus simples.

    Qu'en pensez-vous ?

    PS: sachant que même sans les vues, on peut avec les alias, faire des jointures entre "les vestes" et "les Tshirt" si besoin.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2
    Par défaut
    Bonjour Gérard, et merci pour ta réponse.

    Par le terme "ajouter", je parle côté client. Il va ajouté un nouveau vêtement (un tshirt par exemple) et va devoir sélectionner ou cocher un certain nombre d'informations, comme la couleur par exemple, correspondantes au vêtement qu'il vient de choisir parmi ses photos.

    Evidemment ta solution est intéressante, et je vais la tester ! Cependant existe-t-il tout de même une requête MYSQL faisable en partant de ce que j'ai fait, en gardant mes 5 tables. Et si non, quelle genre de syntaxe aurait celle qui rassemble toutes les informations en une seule table ?


    Merci.

    Bien cordialement, Alexis.


    [EDIT : J'ai suivi votre conseil Gérard et tout est rentré dans l'ordre. En vous remerciant. Poste résolu ! ]

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/03/2014, 11h18
  2. Réponses: 8
    Dernier message: 09/01/2012, 09h45
  3. Réponses: 2
    Dernier message: 12/01/2008, 14h57
  4. 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, 16h19
  5. Group by sur plusieurs table de même squelette
    Par hackrobat dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 13/03/2006, 19h41

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