|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 12 ![]() |
Bonjour
J’ai un souci de lenteur avec une requête avec plusieurs jointures en effet, avec la première jointure ca va, mais dès que j’en mets une autre, c’est lent. J’aimerai savoir pour chaque ELEVE : en ANGLAIS : leur 1er cours , leur dernier cours en MATHS : leur 1er cours , leur dernier cours en PHYSIQUE : leur 1er cours , leur dernier cours Je fais : Code :
Merci |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Si GENRE_COURS est une clé étrangère faisant référence à une autre table qui contiendrait par exemple une colonne libelle_cours, tu peux faire une seule jointure sur la table cours :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 12 ![]() |
super mais j'ai oublié une précision
je ne souhaite m'occuper que des élèves présents en 2010 ex : MARC 1er ANGLAIS = '01/01/2009' dernier ANGLAIS = '01/10/2009' 1er MATHS = '01/05/2009' Dernier MATHS = '01/06/2010' ex : PAUL 1er ANGLAIS = '01/01/2009' dernier ANGLAIS = '01/10/2009' 1er MATHS = '01/05/2009' Dernier MATHS = '01/06/2009' ici je dois avoir MARC mais pas PAUL (car il n'est pas venu en 2010) merci en tout ca pour tes réponse |
|
|
00
|
|
|
#4 | ||
![]() ![]() |
Ben tu ajoutes une condition de restriction sur les dates dans le WHERE !
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#5 | |||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
bonjour
Citation:
dans ce cas une petite clause HAVING, genre (en suivant le modele de cinephil) Code :
|
|||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 12 ![]() |
hé non
or je cherche son 1er cours ex : MARC 1er ANGLAIS = '01/01/2009' dernier ANGLAIS = '01/10/2009' 1er MATHS = '01/05/2009' Dernier MATHS = '01/06/2010' merci |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 12 ![]() |
Je reformule :
Pour les ELEVES présents en 2010 Quel est leur 1er et Dernier cours d’ANGLAIS Quel est leur 1er et Dernier cours de MATHS Quel est leur 1er et Dernier cours de PHYSIQUE Peu importe l’année de ces cours. ex : MARC 1er ANGLAIS = '01/01/2009' dernier ANGLAIS = '01/10/2009' 1er MATHS = '01/05/2009' Dernier MATHS = '01/06/2010' ex : PAUL 1er ANGLAIS = '01/01/2009' dernier ANGLAIS = '01/10/2009' 1er MATHS = '01/05/2009' Dernier MATHS = '01/06/2009' ici je dois avoir MARC mais pas PAUL (car il n'est pas venu en 2010) pour MARC, il est bien venu en 2010 et son 1er cours ANGLAIS était en 2009 merci |
|
|
00
|
|
|
#8 | ||||
![]() ![]() |
OK alors il faut décomposer le problème...
Si je comprends bien, c'est la date du cours qui détermine si un élève est présent ou non une année, du moment qu'il a participé à au moins un cours au cours de l'année ? 1) Quels sont les élèves présents en 2010 ? Code :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||||
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 12 ![]() |
Milles merci
![]() bonne soirée |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com