|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 13 ![]() |
Bonjour tout le monde.
J'aurais besoin de votre aide SVP. J'ai un exercice a faire, et je voudrais que vous dites si j'ai bien commencé? Merci d'avance L'énonces de l'exercice ![]() Les questions 1 - Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 081 ![]() |
Bonsoir,
Pour la 1, inutile de renvoyer la date de naissance. Pour la 2, la première version fonctionne, mais un count(*) suffira. Pour la 3, tu renvoies un classement alors que l'énoncé demande la meilleure place. Il faudrait plutôt employer min() pour renvoyer la plus petite place. J'enlèverai aussi le nom du pays, puisque la requête ne concerne que la Suisse (et surtout nompays=1, qui risque de ne pas passer...). 3,4,5: je te laisse chercher Tatayo. |
|
|
00
|
|
|
#3 | ||||||||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 13 ![]() |
Merci pour ta réponse...
Donc pour la 2 c'est: Code :
Code :
Pour la 4 désolé je ne voit pas du tout comment faire Pour la 5, je ne sais pas comment faire la jointure avec 3 tables (table1 JOIN table2 JOIN table3 ????) 5 - Code :
6 - Code :
|
||||||||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 081 ![]() |
La syntaxe pour plusieurs jointures est:
Code SQL :
Il y a des tutoriels très bien fait ici, tu devrais y jeter un oeil. Pour la 3, comme je te l'ai indiqué, il faut enlever le nom du pays. Allez, une piste(!) pour la 4: il faut compter le nombre de pays différents des vainqueurs de grand prix. Et pour la 6: l'énoncé ne demande que la dernière course, ici tu renvoies toutes les courses... Tatayo. |
||
|
|
00
|
|
|
#5 | ||||||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 13 ![]() |
Merci, je vais regarder les tutoriels...
Oui pour la 3 tu m'avait dit d'enlever le nom du pays mais dans la question ils veulent le meilleur palmarès d'un pilote SUISSE. Et je vois pas pourquoi il faut mettre un MIN() Code :
4 - Code :
5 - Code :
Peut être aussi une petite piste pour la 6 ?? |
||||||
|
|
00
|
|
|
#6 | |||||||
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 081 ![]() |
Citation:
Le classement de la dernière course, en commençant pas le vainqueur: Pour avoir la (date de la) dernière course: Code SQL :
Code SQL :
Tatayo. |
|||||||
|
|
00
|
|
|
#7 | ||||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 13 ![]() |
Code :
Tu veux dire que pour la 4 et la 5 j'ai bon ??? c'est pas possible Pour la 6: Code :
|
||||
|
|
00
|
|
|
#8 | ||||||
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 081 ![]() |
Citation:
Bha si, c'est possible ! Mais ici, ce n'est pas le cas. Pour la 5, l'énoncé demande le nombre d'hymne nationaux joués (donc le nombre de nations des gagnants), et tu renvoies les plus mauvais classements... Pour la 4, j'aurai viré l'année DU SELECT, qui n'est pas demandée dans le résultat. Citation:
Tatayo. |
||||||
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 13 ![]() |
Donc la 3 est bonne ?
Tu te trompe, c'est pour la 5 qu'il faut enlever ANNEE du select car dans la 4 il n'y pas... Dans la 4, il faut utiliser un MIN() ? Pour la 6 Code :
|
||
|
|
00
|
|
|
#10 | ||||
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 081 ![]() |
Je dirai que oui.
Citation:
![]() Heu... non. Il faut compter le nombre distinct de nationalité de pilote ayant fini premier. Citation:
Il te faut renvoyer le nom, le prenom, l'écurie de chaque pilote pour la course dont la date est celle de la dernière course. |
||||
|
|
00
|
|
|
#11 |
![]() ![]() |
Il me semblait bien avoir déjà vu cet exercice...
Tu y trouveras au moins ce qu'il ne faut pas faire !
__________________
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
|
|
|
#12 | ||||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 13 ![]() |
4 -
Code :
6 - Code :
|
||||
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 081 ![]() |
Je pense qu'il faut que tu y mettes un peu du tien. Pour la 4, on te demande de compter quelquechose ("COMBIEN d'hymnes nationaux...), et rien dans ta requête ne permet de compter quoi que ce soit. Qui plus est, tu fais une jointure entre l'Id du pays et l'id du pilote...
Pour la 6, la réponse ne change pas. Tu ne renvoies pas les résultats de la dernièe course, mais la dernière date de chaque classement de chaque pilote... Bref je pense que tu devrais te replonger dans ton cours de SQL ainsi que dans les tutoriels présents sur ce site. Tatayo. |
|
|
00
|
|
|
#14 | ||||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 13 ![]() |
Même en lisant les tuto, tout seul sans aide c'est pas possible pour un débutant...
4- Code :
Code :
|
||||
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 081 ![]() |
Pour la 4: Tu comptes les arrivés par pays (d'ailleurs il manque un group by) au lieu de compter les pays... Une dernière piste: tu dois compter le nombre distinct de pays dont un pilote est arrivé premier.
Pour la 6: toujours pas, tu renvoie toujours la dernière date par pilote, et non le classement de la dernière course. D'ailleurs la requête n'est pas syntaxiquement correcte car le group by doit porter sur les colonnes qui NE SONT PAS l'objet d'une aggregation (count,max...). Une dernière piste aussi: tu dois renvoyer le nom, le prenom des pilotes ayant participé à la course dont la date est celle de la dernière course, le tout trié par position d'arrivée. Pour y arriver, il te faut "traduire" l'énoncé: Qu'est-ce que je dois renvoyer: la clause SELECT D'où je tire les infos: la clause FROM Sur quels critères: la clause WHERE Sur quoi je regroupe: la clause GROUP BY Sur quoi je trie: la clause ORDER BY Tatayo. |
|
|
00
|
|
|
#16 | ||||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 13 ![]() |
Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com