Salut à toutes et à tous,
Voici ma requête SQL :
Elle fonctionne presque bien, ou plutôt me retourne presque ce que j'attend.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 SELECT "TblSecteurs"."TblSecteurs_ID" AS "PPArrieresParSecteurs_SecteurID", count("TblIntermediairePPSecteurs"."TblIntermediairePPSecteurs_PPID") AS "PPArrieresParSecteurs_NbrPPArrieres", "NbrPPParSecteur"."NbrPPParSecteurs_NbrPPParSecteur", CASE "NbrPPParSecteur"."NbrPPParSecteurs_NbrPPParSecteur" WHEN 0 THEN 0 ELSE count("TblIntermediairePPSecteurs"."TblIntermediairePPSecteurs_PPID")/"NbrPPParSecteur"."NbrPPParSecteurs_NbrPPParSecteur" END AS "NbrPPParSecteur_PourcentagePPArrieres" FROM "TblSecteurs" LEFT JOIN "TblIntermediairePPSecteurs" ON "TblSecteurs"."TblSecteurs_ID" = "TblIntermediairePPSecteurs"."TblIntermediairePPSecteurs_SecteurID" LEFT JOIN "TblPP" ON "TblPP"."TblPP_ID" = "TblIntermediairePPSecteurs"."TblIntermediairePPSecteurs_PPID" LEFT JOIN "NbrPPParSecteur" ON ("NbrPPParSecteur"."NbrPPParSecteurs_SecteurID" = "TblIntermediairePPSecteurs"."TblIntermediairePPSecteurs_SecteurID") WHERE COALESCE("TblPP"."TblPP_Graphique", true) = true AND COALESCE("TblPP"."TblPP_PPArriere", true) = true GROUP BY "TblSecteurs"."TblSecteurs_ID", "TblSecteurs"."TblSecteurs_NbrLots", "NbrPPParSecteur"."NbrPPParSecteurs_NbrPPParSecteur" ORDER BY "TblSecteurs"."TblSecteurs_ID";
En effet, elle me retourne bien le calcul (enfin, je pense) qui divise 2 count (donc 2 BigInt), mais elle me le retourne en BigInt (ce qui est logique en soi) et je perd les décimales. Or il me les faut.
Comment puis-je obtenir un résultat en numeric ou tout autre type me permettant des décimales, sachant qu'il est correct que les 2 champs d'origine soient des entiers ?
(En fait je divise un nombre de points graphiques par un nombre de points graphiques arrières afin d'obtenir le pourcentage de point graphiques arrières par rapport à tous les points).
La requête est destinée à devenir une vue sous PostgreSQL, tout comme NbrPPParSecteurs l'est déjà.
Merci de vos z'avis z'avisés,
Jean-Marc
Partager