Bonjour,
Pourriez-vous m'apporter un peu de votre aide car la je ne comprends pas forcément tout je ce que lis et faits.
J'explique, en se moment je me rafraichis un peu la tête sur du sql, par contre je rencontre quelques grosses difficultés sur les fonctions arithmétiques.(+,-,*,/). Je n'arrive pas à voir au-delà de l'aspect théorique...
Je suis le tuto actuellement présent sur le site
http://sqlpro.developpez.com/cours/sqlaz/ensembles/
J'en suis à la clause GROUP BY (exemple 5) et aimerais reproduire, mais surtout comprendre d'une façon simple et arithmétique comment nous arrivons à obtenir le résultat (TAUX_OCCUPATION_POURCENT)
PS : Les requêtes ce trouvent dans le lien ci-dessus.
Ce que je ne comprends absolument pas, c'est comment de la requête 3 & 4 nous construisons et surtout obtenons le résultat (pourcentage) de la requête 5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 -- Req 3 SELECT SUM(CHB_PLN_CLI_NB_PERS), C.CHB_ID FROM T_CHAMBRE C JOIN TJ_CHB_PLN_CLI P ON C.CHB_ID = P.CHB_ID WHERE PLN_JOUR BETWEEN '1999-01-01' AND '1999-12-31' GROUP BY C.CHB_ID
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 -- Req 4 SELECT SUM(CHB_COUCHAGE) AS MAX_OCCUPATION, CHB_ID FROM T_CHAMBRE C CROSS JOIN T_PLANNING P WHERE PLN_JOUR BETWEEN '1999-01-01' AND '1999-12-31' GROUP BY C.CHB_IDQuelqu'un pour éclairer l'aveugle que je sembles être... ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 --Req 5 SELECT (CAST(SUM(CHB_PLN_CLI_NB_PERS) AS FLOAT) / CAST(SUM(CHB_COUCHAGE) AS FLOAT)) * 100 AS TAUX_OCCUPATION_POURCENT, C.CHB_ID FROM T_CHAMBRE C JOIN TJ_CHB_PLN_CLI CPC ON C.CHB_ID = CPC.CHB_ID CROSS JOIN T_PLANNING P WHERE P.PLN_JOUR BETWEEN '1999-01-01' AND '1999-12-31' GROUP BY C.CHB_ID
Merci de votre aide et retour.
Partager