Besion d'aide pour contruction requête de ouf
Ben314
Messages postés
2312
Date d'inscription
Statut
Membre
Dernière intervention
-
Venusia95 Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Venusia95 Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous
Voila il faut que je fasse une requête très particulière pour remplir un histogramme en c#.
J'ai 4 tables, CLIENT, RESERVATION, RESERVER et TARIF.
RESERVER et un table de "jointure" qui fait correspondre CLIENT et RESERVATION par rapport a un utilisateur (table dont j'ai pas besoin ici) et une date de gestion.
TARIF comporte 6 champs dont 4 dont je me sert ici, le tarif pour 1 et 2 jours en double que j'utilise par rapport à un booléen qui définit si client et local ou pas.
Le but de la requête est d'afficher mois par mois sur 1 année l'argent encaissé pour voir la balance commercial avec 2 "série" local ou pas. (donc 2 requête)
j'ai plusieurs souci :
_ comment dans ma requête je peut calculer ma différence entre 2 dates (RESERVATION.datesdebut et RESERVATION.datesfin) pour indiquer le bon tarif qui dépend aussi de mon booléen (CLIENT.locals)
_ comment faire en sorte que la requête renvoi un résultat mois par mois pour 1 année
_ dans ma table RESERVER une réservation peut apparaitre plusieurs fois il faudrait que seul la plus récente ressorte via la date de gestion la plus récente.
Voila la ou j'en suis de cette requête qui me pose tant de souci :
select * from CLIENT join RESERVER on CLIENT.id_client=RESERVER.id_client join RESERVATION on RESERVER.id_reservation=RESERVATION.id_reservation join TARIF on RESERVATION.id_tarif=TARIF.id_tarif where RESERVER.id_reservation=(select id_reservation form RESERVER where ) and CLIENT.locals=1
Évidement ce n'est qu'une ébauche avec des trou la ou je ne sais pas comment faire...
Merci d'avance a qui pourra trouver la solution.
Voila il faut que je fasse une requête très particulière pour remplir un histogramme en c#.
J'ai 4 tables, CLIENT, RESERVATION, RESERVER et TARIF.
RESERVER et un table de "jointure" qui fait correspondre CLIENT et RESERVATION par rapport a un utilisateur (table dont j'ai pas besoin ici) et une date de gestion.
TARIF comporte 6 champs dont 4 dont je me sert ici, le tarif pour 1 et 2 jours en double que j'utilise par rapport à un booléen qui définit si client et local ou pas.
Le but de la requête est d'afficher mois par mois sur 1 année l'argent encaissé pour voir la balance commercial avec 2 "série" local ou pas. (donc 2 requête)
j'ai plusieurs souci :
_ comment dans ma requête je peut calculer ma différence entre 2 dates (RESERVATION.datesdebut et RESERVATION.datesfin) pour indiquer le bon tarif qui dépend aussi de mon booléen (CLIENT.locals)
_ comment faire en sorte que la requête renvoi un résultat mois par mois pour 1 année
_ dans ma table RESERVER une réservation peut apparaitre plusieurs fois il faudrait que seul la plus récente ressorte via la date de gestion la plus récente.
Voila la ou j'en suis de cette requête qui me pose tant de souci :
select * from CLIENT join RESERVER on CLIENT.id_client=RESERVER.id_client join RESERVATION on RESERVER.id_reservation=RESERVATION.id_reservation join TARIF on RESERVATION.id_tarif=TARIF.id_tarif where RESERVER.id_reservation=(select id_reservation form RESERVER where ) and CLIENT.locals=1
Évidement ce n'est qu'une ébauche avec des trou la ou je ne sais pas comment faire...
Merci d'avance a qui pourra trouver la solution.
A voir également:
- Besion d'aide pour contruction requête de ouf
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Android
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de pomme mais pas de pomme de terre ? - Forum Windev
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ? ✓ - Forum Access
- Erreur de requete facebook - Forum Facebook
1 réponse
Bonjour,
Je ne suis pas sûre d'avoir bien tout compris mais je pense pouvoir t'apporter mon aide au moins sur les points "soucis" :
De plus, sans avoir la structure complète des tables, c'est compliqué
1 - Pour calculer la différence entre deux dates : (si tu veux la différence en jour, ou en année tu remplace month par day ou year)
SELECT DATEDIFF(datesfin, datesdebut) from RESERVATION
2 - Il est possible de faire un count(Reservation.*) et sum(Reservation.Prix) par exemble pour avoir la totalité des réservation faites et la totalité des sommes gagnée. En ajoutant la clause Group by SUBSTR(datesdebut, 0, 7), ca permet d'avoir les données triées par mois.
3-Pour avoir la date la plus récente, il faut une sous-requête :
Select * from reserver where dateGestion = (select Max(dateGestion) from Reserver)
En espérant avoir été un peu près clair ...
Bon courage pour la suite!
Je ne suis pas sûre d'avoir bien tout compris mais je pense pouvoir t'apporter mon aide au moins sur les points "soucis" :
De plus, sans avoir la structure complète des tables, c'est compliqué
1 - Pour calculer la différence entre deux dates : (si tu veux la différence en jour, ou en année tu remplace month par day ou year)
SELECT DATEDIFF(datesfin, datesdebut) from RESERVATION
2 - Il est possible de faire un count(Reservation.*) et sum(Reservation.Prix) par exemble pour avoir la totalité des réservation faites et la totalité des sommes gagnée. En ajoutant la clause Group by SUBSTR(datesdebut, 0, 7), ca permet d'avoir les données triées par mois.
3-Pour avoir la date la plus récente, il faut une sous-requête :
Select * from reserver where dateGestion = (select Max(dateGestion) from Reserver)
En espérant avoir été un peu près clair ...
Bon courage pour la suite!