|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 8 ![]() |
Bonjour,
J'ai besoin d'aide pour rédiger une requête en SQL sous microsoft access 2010. Voici mon cahier des charges ainsi que le modèle logique de données. ![]() Je dois traiter la requête suivante : Donner pour chaque agence proposant au minimum 10 hôtels dans la région Midi-Pyrénées, son nom et le nombre d'hôtels précis proposés dans cette même région. Voici ce que j'ai fait: Code :
Merci de m'aider |
||
|
|
00
|
|
|
#2 | |||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 411 ![]() |
bonjour,
Citation:
... et seulement par agence, tu vois ? Code sql :
|
|||
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 8 ![]() |
Ah merci beaucoup effectivement ça marche
Par contre il y a quelque chose que je ne comprends pas très bien : j'ai l'impression que l'on est obligé de regroupé par le champs que l'on veut afficher (le SELECT). Mais là par exemple il n'aurait pas été plus judicieux de regrouper par CodeAg au cas où deux agences aient le même nom? J'ai d’ailleurs rencontré le même problème pour cette requête : "Donner le nom et la ville des hôtels de la Haute-Garonne (département 31) contenant au minimum 100 chambres." J'ai donc procédé ainsi: Code :
Et effectivement, je n'ai pas encore appris le INNER JOIN Une dernière petite question si ce n'est pas trop demandé: Pour la fonction d'agrégat COUNT(), je ne comprend pas bien la différence entre mettre count(*), count(distinct(XX)) ou count avec n'importe quel autre champ puisque le nombre de lignes sera toujours le même quel que soit le champ sélectionné? Merci de ton aide |
||
|
|
00
|
|
|
#4 | |||||||||||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 411 ![]() |
je réponds rapidement, je dois quitter
Citation:
Citation:
Citation:
Code sql :
Code sql :
car CodeAg-->NomAg et Code Ag-->VilleAg il faut rajouter codeh dans le select: Code sql :
Citation:
A cause d'éventuels champs qui peuvent être à Null, Citation:
|
|||||||||||
|
00
|
|
|
#5 |
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 8 ![]() |
D'accord, merci bcp pour tes réponses
![]() Mais donc quand tu me dis par exemple qu'il faut rajouter codeh dans les select, access va me retourner le code de l'hotel, or je ne le souhaite pas. Donc comment faire? P.S.: En fait, je suis à la faculté et ce sujet est une annale, donc si je ne fais pas exactement ce qui est demandé, je n'aurais pas tous les points. |
|
|
00
|
|
|
#6 | ||||||||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 411 ![]() |
hop, j'reviens...
pour ce cas d'école, on doit pouvoir tolérer: Code sql :
mais le résultat est faussé si tu as deux hôtels qui ont le même nom dans une même ville (peu probable mais...). Si tu as beaucoup de champs à ramener, par exemple: Code sql :
requête R1: Code sql :
Code sql :
|
||||||||
|
00
|
|
|
#7 |
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 8 ![]() |
Ah d'accord je ne savais pas que l'on pouvait faire une requête à partir d'une autre. En tous cas merci beaucoup
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com