Jointure de plusieurs tables en SQL

Fermé
Izsy Messages postés 6 Date d'inscription vendredi 24 juillet 2015 Statut Membre Dernière intervention 4 août 2015 - 24 juil. 2015 à 11:11
Izsy Messages postés 6 Date d'inscription vendredi 24 juillet 2015 Statut Membre Dernière intervention 4 août 2015 - 27 juil. 2015 à 09:57
Bonjour a tous!
soyez indulgent SVP je ne suis qu'une débutante.
bon,voila,je dispose de 3 tables:
avion(NumAvion,Design,NbrPlace,#NumVol)
vol(NumVol,frais)
reservation(NumReserv,DateReserv,#NumAvion)
on me demande de calculer la recette annuelle pour chaque avion et je suis complètement bloqué sur la requete
j'ai essayé le suivant mais y a une erreur de syntaxe:
select year(DateReserv) from reservation where reservation.Numavion=' "+Numavion+" ' group by year(DateReserv) join select count (*) Frais from vol where avion.NumVol=vol.NumVol
L'idée du resulat attendue est d'avoir un tableau ayant 2 colonnes,genre comme ça:
Année Recette
2012 1000
2013 2500
2014 3000
2015 5000
aidez moi SVP,je suis presque désespérée.mercii
A voir également:

3 réponses

LeMicroteux Messages postés 556 Date d'inscription vendredi 1 mai 2015 Statut Membre Dernière intervention 28 décembre 2016 56
24 juil. 2015 à 11:49
Salut,
je suis en train de mettre en place la structure, tu as l'énoncé de l'exo ?
J'avoue etre un peu perdu ...
A+
0
Izsy Messages postés 6 Date d'inscription vendredi 24 juillet 2015 Statut Membre Dernière intervention 4 août 2015
24 juil. 2015 à 12:42
En faites,C' est pour une conception d'une application JAVA/Mysql,c'est un projet de fin d'année.Ce projet a pour theme:reservation de place en avion...Et part la mise a jour des tables avion,vol et reservation,on demande la recette annuelle pour chaque avion,c'est a dire,entre autre on doit faire une requete afin d'afficher la recette annuelle pour chaque avion(une requete qui renvoi pour chaque avion la somme des frais durant l'année).

A partir de ces 3 tables:
-avion(NumAvion,Designation,#NumVol)
-vol(NumVol,Frais)
-reservation(NumReserv,DateReserv,#NumAvion)
0
LeMicroteux Messages postés 556 Date d'inscription vendredi 1 mai 2015 Statut Membre Dernière intervention 28 décembre 2016 56
24 juil. 2015 à 13:09
Ok, en gros la recette d'un avion c'est le champ "frais" de la table VOL * le nombre de vol de l'avion ?
0
Izsy Messages postés 6 Date d'inscription vendredi 24 juillet 2015 Statut Membre Dernière intervention 4 août 2015
24 juil. 2015 à 14:13
c'est a partir de la somme des frais qu'on va calculer la recette(ici frais=).Et ça ne va pas etre evident,pensez vous que je devrait revoir le model conceptuel des données?Parce que je pense que si on ajoute quelques modifications aux champs de ces tables(en gardant la logique bien sur) on pourrait en tirer la recette par année pour chaque avion,ou bien pensez vous que c'est fesable comme ça?
0
LeMicroteux Messages postés 556 Date d'inscription vendredi 1 mai 2015 Statut Membre Dernière intervention 28 décembre 2016 56
24 juil. 2015 à 14:48
Il faudrait que tu expliques le projet en global car j'ai vraiment du mal a saisir...
A quoi sert la table réservation, le champ nbeplace ?

0
Izsy Messages postés 6 Date d'inscription vendredi 24 juillet 2015 Statut Membre Dernière intervention 4 août 2015
27 juil. 2015 à 09:57
Bon,dans la table avion(NumAvion,Design,NbPlace,#NumVol):
NumAvion,c'est l'identifiant de chaque avion;
Design:le nom de l'avion;
NbPcae:le nombre de place que possède chaque avion

Dans la table vol(NumVol,Frais):
Frais:c'est le prix de billet d'avion, ou en clair c'est l'argent que le voyageur doit payer pour prendre l'avion(j'arrive pas a trouver le mot exacte pour le qualifier,je suis desolé)

La table reservation c'est pour quand un voyageur doit faire une reservation pour prendre un vol.C'est la table reservation qui enregistre les informations a propos de la place,de l'avion,etc qu'un tel voyageur a reservé.
dans la table reservation(NumReserv,#NumAvion,NumPlace,DateReserv)
NumPlace:le numero de place que doit occupé tel ou tel voyageur
DateReserv:la date de la reservation

Et j'ai aussi ajouté une 4èma table place(NumPlace,#NumAvion,Occupation)
Occupation:pour marqué si une place dans une tel avion est encore disponible ou déja occupé(déja reservée)
0