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_ID
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
Quelqu'un pour éclairer l'aveugle que je sembles être... ?
Merci de votre aide et retour.