Joindre deux tables selon des critères

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Joindre deux tables selon des critères

Re: Joindre deux tables selon des critères

par moogli » 25 juil. 2016, 16:06

salut,

a priori une requête avec jointure doit l'affaire
select e.matricule, e.nom, e.classe, e.statut, p.montant, p.reste from eleves e join PAYEMENT_SCOLARITE  s on e.matricule = s.matricule
Après je pense que le modèle est mal fait, il y a moyen de faire quelque chose de plus modulaire.

exemple possible
mcd
mcd_mbalet.jpg
mdp
mpd_mbalet.jpg
le sql qui va avec http://pastebin.com/846pLvER

L'avantage de ce modèle, certes plus complexe, est qu'il respecte au moins la première forme normale (unicité de la donnée) et permet donc d'éviter les problèmes de nom multiplié qui pourrait avoir une orthographe ou une casse différente (ce qui est une source d'ennuie importante). cela va permettre au d’accélérer les recherches (index numérique très rapide) et d'alléger le poids de la base (la somme des id sera toujours plus petite que la multiplication des 5 colonnes).

Il permet aussi
- L'historisation des données (on peu ainsi voir l'évolution dans le temps de l'élève au niveau scolaire et financier).
- La préparation d'une année scolaire ne risque d'engendrer d'erreur (je en l'ai pas mise mais une contrainte unique sur l'année supprimer la possibilité d'avoir deux années 2016 ;) ).
- Les informations des élèves sont les mêmes partout (si l'on se trompe en rentant les données dans l'une ou l'autre des tables on ne s'y retrouve pas. La ce n'est pas possible vu que l'on ne duplique pas les données).

un "bon" modèle permet d'éviter les ennuis plus tard ;)


@+

Joindre deux tables selon des critères

par MBALET » 25 juil. 2016, 14:24

Bonsoir d'abord chers membres....
J'ai 3 tables dans ma bdd qui sont :
FRAIS_SCOLARITE (niveau, statut, montant, année_scolaire)
ELEVES (matricule, nom, classe, niveau, statut, année_scolaire)
PAYEMENT_SCOLARITE(matricule, nom, classe, niveau, statut, montant, versement, reste)

J'aimerais qu'en fonction du niveau posté, afficher le :
Matricule
Nom
classe
statut (Affecté ou Non affecté)
//Pour ces 4 elements (matricule, nom, classe, statut) j'arrive à les afficher
Mon souci est d'afficher le montant de FRAIS_SCOLARITE en fonction du statut et du niveau de l'élève.
Parce que tous les élèves n'ont pas le mème statut dans une classe donnée..

Merci d'avance...
Je suis à vos écoutes