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

SQL Procédural MySQL Discussion :

Procédure stockée pour créer un classement


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    BTS SIO
    Inscrit en
    Mai 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : BTS SIO
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 13
    Par défaut Procédure stockée pour créer un classement
    Bonjour tout le monde !

    Voilà je débute les procédures stockées et je suis un peu perdu...

    J'ai une BDD foot avec 4 tables :

    équipe (num_eq, nom_eq, nb_point, #num_champ),

    championnat(num_champ,nom_champ, coeff_champ),

    matchs(num_mat , date_mat, score_d(domicile), score_e(exterieur), "num_eqd(equipe domicile), #num_eqe(equipe exterieur), #num_comp)et

    compétition(num_comp, nom_comp, CE(Booléen si oui ou non c'est une compétition européenne))

    j'aimerai faire un classement des équipes qui sont en ligue des champions(je l'ai appelé LC) et on fait ça avec une procédure et je ne vois pas comment faire...

    Si quelqu'un peut me donner une piste...

    Merci pour vos futurs réponses.

  2. #2
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    salut,

    ici que tu le fasses en procédural ou pas ça revient avant tout à construire ta requête qui sera encapsulé par la procédure (vu que tu veux que le résultat finale soit une procédure...

    donc trouver les tables concernées, et quand des colonnes (foreign keys) les relie faire des jointures (inner join ou left join) sur la ou les colonnes concernées

    dans ton modèle y a pas de quoi relier les compétitions aux championnats à moins que LC soit dans les compétitions alors un truc du genre:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    delimiter $$
    drop procedure if exists classement_comp$$
    create procedure classement_comp(in nom varchar(255))
    begin
      select `equ`,sum(`score`) as `points`
      from
        ((select e.nom_eq as `equ`,sum(m.score_d) as `score`
        from matchs m
        inner join compétition c on c.num_comp=m.num_comp and c.nom_comp=nom
        left join équipe e on e.num_eq=m.num_eqd
        group by `equ`)
        union all
        (select e.nom_eq as `equ`,sum(m.score_e) as `score`
        from matchs m
        inner join compétition c on c.num_comp=m.num_comp and c.nom_comp=nom
        left join équipe e on e.num_eq=m.num_eqe
        group by `equ`))
      group by `equ`
      order by `points` DESC;
    end$$
    delimiter ;
    donc la procédure te calcule le classement des équipes par leur points total remporté pour la compétition dont tu passes le nom en paramètre.
    exemple:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    call classement_comp('LC');
    ce qui rentabilise ici l'utilisation d'une procédure

    attention je suis parti du fait que 'LC' est une compétition! à adapter si c'est pas le cas

Discussions similaires

  1. Procédure Stockée pour créer des TABLE dynamiquement
    Par GuyverZ dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/05/2009, 22h29
  2. Procédure stockée pour créer une table.
    Par Khaoula.85 dans le forum Langage SQL
    Réponses: 19
    Dernier message: 13/03/2009, 20h15
  3. Réponses: 2
    Dernier message: 22/10/2008, 13h14
  4. procédure stockée pour renvoyer un état dans une application
    Par erickoffi dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/10/2005, 19h05
  5. Réponses: 5
    Dernier message: 04/10/2004, 18h20

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