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

Langage SQL Discussion :

Trier sur une relation


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    Points : 107
    Points
    107
    Par défaut Trier sur une relation
    Bonjour à tous,

    Je suis bloqué sur une requête qui me bloque mon travail.

    voilà : je suis supposé sélectionné une liste de personne mais trié sur le nombre de produits qu'elle dispose.

    voici le schéma

    personne[id, nom, etc...]
    liste_produit_personne[personne_id, produit_id]
    produit[id, nom, etc...]

    quel requete sql je dois pondre pour que ca marche

    moi je suis à l'exemple-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select distinct * 
    from 
            personne, liste_produit_personne, produit
    where 
            personne.id = liste_produit_personne.personne_id
    and
            produit.id = liste_produit_personne.produit_id
    ORDER BY (quoi????)
    mais je ne vois pas ce que je dois faire pour trier sur le nombre de produits par personne.

    Merci!!!!

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Et bien déjà... Il faut commencer par compter les produits par personne !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT
        per.id,
        count(*) as nb_produits
    FROM
        personne per
        inner join liste_produit_personne lpp
          on lpp.personne_id = per.id
        inner join produit pro
          on pro.id = lpp.produit_id
    GROUP BY 
        per.id
    ORDER BY
        count(*) desc

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    Points : 107
    Points
    107
    Par défaut
    Merci beaucoup, ca marche!

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

Discussions similaires

  1. Trie sur une relation
    Par Soncar dans le forum VB.NET
    Réponses: 14
    Dernier message: 25/04/2008, 10h56
  2. [CONCEPTION] probleme sur une relation reflexive
    Par bambi98 dans le forum Modélisation
    Réponses: 5
    Dernier message: 27/04/2007, 12h34
  3. souci sur une relation
    Par Eh_manu dans le forum Access
    Réponses: 22
    Dernier message: 05/06/2006, 11h06
  4. Trier sur une valeur de champs et non sur le nom du champs
    Par kamalkam dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/05/2006, 18h41
  5. Question sur une relation ternaire dans un MCD
    Par sylsau dans le forum Schéma
    Réponses: 5
    Dernier message: 05/03/2006, 21h00

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