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 :

Count d'une table de liaison


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    Par défaut Count d'une table de liaison
    Salut tout le monde ...
    j'ai un problème tout bête ...

    j'ai une table produits
    idproduit, nom ...

    une table pack
    idpack, nom, etc ...

    et une table de laison
    pack_has_produits
    idproduit,idpack

    bon j'aimerai afficher mes packs et récupérer le nombre de produits dedans ...
    dans le genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select p.*, nb as (select count(*) from pack_has_produits) from produits
    mais forcément ça n'est pas la bonne syntaxe

    un peu d'aide serait la bienvenue
    thanks
    ++

  2. #2
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    Par défaut
    comme d'hab je trouve quand je poste ...

    select pack.*, count(*) as nb from pack, pack_has_produits pp group by pp.idproduit

    Edit : ah tiens non ça marche pas en fait
    zut...

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    Par défaut
    voila

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select p.*, (select count(*) from  pack_has_produits pp1 where pp1.idpack=p.idpack) as nbProduits  from pack p where p.suppr=0 group by p.idpack

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    le GROUP BY est inutile et faux...

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    Par défaut
    pourtant si je l'enlève ça donne pas la bonne chose ...
    bon en fait j'ai retapé la requete ds le forum parce que j'avais simplifié les noms ...j'ai p'tet fait un erreur

  6. #6
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Sinon (à priori) sans requête corrélée car MySql n'est pas très bon là dedans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT p.*, pp1.nb_prod
      FROM pack p
      join (SELECT idpack, count(*) as nb_prod
              FROM pack_has_produits pp1
             group by idpack) pp1 on pp1.idpack = p.idpack
    WHERE p.suppr = 0
    Sinon pourquoi le GROUP BY est faux :
    Démythifier le GROUP BY

  7. #7
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    Par défaut
    ok super merci ...
    bah normalement ce sera une toute petit table ... ça devrait aller

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

Discussions similaires

  1. COUNT sur une table differente.
    Par Havocks dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/07/2008, 15h27
  2. Sources de données avec une table de liaison
    Par Miss Ti dans le forum Access
    Réponses: 2
    Dernier message: 09/07/2008, 14h15
  3. [SQL] fonction en php qui count() dans une table sql
    Par Draner dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 25/09/2007, 09h12
  4. Interroger une table de liaison
    Par Ferdinand dans le forum Requêtes
    Réponses: 2
    Dernier message: 19/03/2007, 10h32
  5. Réponses: 12
    Dernier message: 12/06/2006, 14h29

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