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 :

limiter le nombre d'enregistrements d'une jointure


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2004
    Messages : 15
    Points : 16
    Points
    16
    Par défaut limiter le nombre d'enregistrements d'une jointure
    Bonjour,

    Imaginez un athlete qui est jugé par 10 juges. Pour connaitre le pointage finale de l'athlete, il faut additionner les 8 meilleures notes sur les 10. Dans la BD par contre, les 10 notes attribuées sont conservées.

    Donc je veux une requête qui me donne la liste des athletes et leur note finale.
    Je ne peux faire un "sum" sur les 10 enregistrements enfants puisque ce sont les 8 meilleures notes que j'ai besoin.

    Comment faire une telle requête?

    c'est une question pour expert je crois bien!!

    Merci
    Martin

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par dubem1
    c'est une question pour expert je crois bien!!
    Non, de débutant, mais cela ne m'empêche pas de te répondre, ce genre de remarque "Attention : Challenge", "Question pour experts", etc. n'a aucune chance d'accélérer la réponse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT a.Id, SUM(b.Note)
    FROM dvp_note a INNER JOIN dvp_note b ON a.Id = b.Id AND (a.Note < b.Note OR (a.Note = b.Note AND a.Juge<= b.Juge))
    GROUP BY a.Id, a.Juge
    HAVING Count(*) = 8;
    La seule difficulté est de classer les enregistrements ayant la même note, j'ai utilisé la colonne "Juge", mais n'importe quoi de réellement discriminant peut jouer le même rôle.

    Attention : les parenthèses sont très importantes

Discussions similaires

  1. limiter le nombre d'enregistrements dans une table
    Par Vincent_59 dans le forum Modélisation
    Réponses: 8
    Dernier message: 09/07/2007, 10h01
  2. Réponses: 12
    Dernier message: 26/01/2007, 13h25
  3. [CR 9.0]Comment limiter le nombre d'enregistrements sur une page
    Par popol666 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 06/11/2006, 15h27
  4. limitation du nombre d'enregistrement sur une jointure
    Par coredump dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/06/2005, 16h13
  5. Réponses: 2
    Dernier message: 13/03/2005, 14h10

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