Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/09/2011, 09h44   #1
Membre du Club
 
Homme
Étudiant
Inscription : janvier 2011
Messages : 330
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 330
Points : 47
Points : 47
Par défaut Pb Requête SQL

bonjour j'ai des requêtes à faire ,étant très nul en SQL je galère énormément

Voilà le modèle relationnel:

Voiture(nv,mar,mod,cat,num_A)
Tarif(cat,prix)
client(nc,nom,ville)
location(nv, nc,debut,fin)
agence(num_A,nom_A,direc)

nv=identifiant de la voiture
mar=marque de la voiture
cat=catégorie (A,B,C...)
Num_A=numéro de l'agence
NC=identifiant client
direc=nom du directeur
Debut =date de début de la location
Fin = date de fin de la location


voilà les requêtes que j'aimerais formuler en SQL

-Quels sont les clients n'ayant pas loué de voiture de catégorie A?
-Quels sont les directeurs d'agence ayant loué (comme client) une voiture dans une autre agence que celles qu'ils dirigent?
-Quels sont les durée moyenne des locations durant plus de 6 jours?
-Quels sont les catégories de voitures dont le prix de location est inférieur au prix moyen?
-Donner pour chaque agence le nombre de location moyenne par mois sous forme d'analyse croisée
- Donner le nombre de voiture de la base et le nombre de marque de voiture, ainsi que le nombre de marques différentes
-Quels sont les nom des agences qui peuvent louer au moins 5 voitures
huître est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 09h54   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 431
Points : 6 431
Bonjour,

Pour chacune des requêtes demandées, montre-nous déjà ce que tu as fait, qu'on valide ou qu'on t'aide à corriger ce qui n'irait pas.
__________________
Rédacteur / Modérateur SGBD
Mes tutoriels et la FAQ MySQL

----------------------------------------------------
Pensez aux balises code et au tag
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 10h40   #3
Membre du Club
 
Homme
Étudiant
Inscription : janvier 2011
Messages : 330
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 330
Points : 47
Points : 47
-Quels sont les clients n'ayant pas loué de voiture de catégorie A?
Code :
1
2
3
4
select NC
from location, voiture 
where location.nv=voiture.nv
and nv not in (select nv from voiture where cat ='A')
-Quels sont les directeurs d'agence ayant loué (comme client) une voiture dans une autre agence que celles qu'ils dirigent?
euhh..............?

-Quels sont les durée moyenne des locations durant plus de 6 jours?
Code :
1
2
3
4
select nc,nv avg(fin-début) 
from location
group by nc,nv
having (fin-debut)>6
-Quels sont les catégories de voitures dont le prix de location est inférieur au prix moyen?
Code :
1
2
3
4
select cat
from tarif
group by cat
having prix >avg(prix)
-Donner pour chaque agence le nombre de location moyenne par mois sous forme d'analyse croisée
euhhhhh...........???????

- Donner le nombre de voiture de la base et le nombre de marque de voiture, ainsi que le nombre de marques différentes
Code :
1
2
select count(nv),count(distinct Mar),count(distinct modèle)
from voiture
-Quels sont les nom des agences qui peuvent louer au moins 5 voitures
Code :
1
2
3
4
5
select num_A,nom
from voiture,agence,location
where voiture.num_A=agence.num_A
group by num_A
having count(*)>5
huître est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 11h27   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Ta demande ressemble fort à un exercice scolaire. Si c'est le cas, il semble que ton prof ne vous ait pas encore appris la syntaxe normalisée des jointures en vigueur depuis 1992. Tu pourras demander à ton prof s'il a l'intention de vous en parler prochainement ou s'il se contentera de vous délivrer un enseignement du siècle précédent !

Le principal argument en faveur de cette syntaxe moderne avec JOIN est que, par exemple, tu te serais aperçu qu'il manque une condition de jointure dans ta dernière requête :
Code :
1
2
FROM voiture,agence,location
WHERE voiture.num_A=agence.num_A
3 tables dans le FROM mais une seule condition de jointure entre deux tables !
=> Écriture normalisée :
Code :
1
2
3
FROM voiture
INNER JOIN agence ON voiture.num_A = agence.num_A
INNER JOIN location ON -- manque condition de jointure !
Pas trop le temps de regarder le reste pour le moment mais j'avoue que la demande suivante me laisse autant pantois que toi !
Citation:
-Donner pour chaque agence le nombre de location moyenne par mois sous forme d'analyse croisée
__________________
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 !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h01.


 
 
 
 
Partenaires

Hébergement Web