Aide requéte SQL est-ce que c'est juste?
etudiantepg
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
heliconius Messages postés 539 Date d'inscription Statut Membre Dernière intervention -
heliconius Messages postés 539 Date d'inscription Statut Membre Dernière intervention -
Voila je voudrai une requéte pour calculer le montant des reservations réalisés en une journée donnée ( in put date ), les tables sont :
ma table Voiture
matricule | marque | modele | tarif_r | etat
----------------+-----------+----------+--------------+---------
4568 | Peugeot | 206 | 500 | reserver
6758 | Renault | clio4 | 56 | libre
et ma table Reservation
matricule | id_client | date_reservation | nbr_j_reservation
----------------+-----------+-----------------------+----------------------
4568 | Sara | 20-06-2013 | 5
6758 | Anais | 13-10-2013 | 17
et ma requéte :
SELECT tarif_r from Voiture INNER JOIN Reservation ON (Voiture.matric = Reservation.matric) WHERE date_reservation='"+date+"'";
est ce que c'est juste?????
ma table Voiture
matricule | marque | modele | tarif_r | etat
----------------+-----------+----------+--------------+---------
4568 | Peugeot | 206 | 500 | reserver
6758 | Renault | clio4 | 56 | libre
et ma table Reservation
matricule | id_client | date_reservation | nbr_j_reservation
----------------+-----------+-----------------------+----------------------
4568 | Sara | 20-06-2013 | 5
6758 | Anais | 13-10-2013 | 17
et ma requéte :
SELECT tarif_r from Voiture INNER JOIN Reservation ON (Voiture.matric = Reservation.matric) WHERE date_reservation='"+date+"'";
est ce que c'est juste?????
A voir également:
- Aide requéte SQL est-ce que c'est juste?
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
- Cherche des haricot vendez les moi ✓ - Forum DS
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
4 réponses
Bonjour
Ça a l'air correct, à un détail près. Il peut y avoir plusieurs réservations le même jour, il faudrait donc faire SELECT SUM(tarif_r )...
Ça a l'air correct, à un détail près. Il peut y avoir plusieurs réservations le même jour, il faudrait donc faire SELECT SUM(tarif_r )...
select SUM(Voi.tarif_r) from RESERVATION Res, VOITURE Voi
where Voi.matricule = Res.matricule and Res.Date_Reservation = Ta_Date and Voi.etat = "reserver"
where Voi.matricule = Res.matricule and Res.Date_Reservation = Ta_Date and Voi.etat = "reserver"
Bonsoir,
tout à fait, mais je rajouterai quelque chose qui n'a rien à voir avec la requête.
Je serais toi, au lieu de remplir ton champ Voiture.etat avec le texte reserver ou libre, je créerais une table EtatsVoiture avec différentes valeurs de champ (réservé, libre, réparation, location LD, etc...)
Si un véhicule est en réparation, tu fais comment ?
- Puisqu'il n'est pas réservé, il est donc libre ! => non: réparation
- Puisqu'il n'est pas libre, il est donc réservé par quelqu'un ! => non: réparation
De plus, ça évite les erreurs de saisie qui pourraient donner des résultats erronés :
- ... where Voiture.etat = 'reserver';
- ... where Voiture.etat = 'reservé';
- ... where Voiture.etat = 'reservée';
- ... where Voiture.etat = 'réserver';
un ... where Voiture.etat=1; est plus fiable !
tout à fait, mais je rajouterai quelque chose qui n'a rien à voir avec la requête.
Je serais toi, au lieu de remplir ton champ Voiture.etat avec le texte reserver ou libre, je créerais une table EtatsVoiture avec différentes valeurs de champ (réservé, libre, réparation, location LD, etc...)
Si un véhicule est en réparation, tu fais comment ?
- Puisqu'il n'est pas réservé, il est donc libre ! => non: réparation
- Puisqu'il n'est pas libre, il est donc réservé par quelqu'un ! => non: réparation
De plus, ça évite les erreurs de saisie qui pourraient donner des résultats erronés :
- ... where Voiture.etat = 'reserver';
- ... where Voiture.etat = 'reservé';
- ... where Voiture.etat = 'reservée';
- ... where Voiture.etat = 'réserver';
un ... where Voiture.etat=1; est plus fiable !