Message posté par : BenB
----------------------------------------
Bonjour,
Dans une base de données POSTGIS j'ai une table habitat de type polygone, j'ai
besoin de connaitre pour chaque type d'habitat la somme des surfaces :
-----------------
Code :
SELECT
h.code_cb,
c.lb_hab_fr,
SUM(round(st_area(h.geom))) AS surface,
LEFT JOIN ref_inpn.habref_cb c ON c.lb_code = h.code_cb
GROUP BY
h.code_cb,
c.lb_hab_fr,
-----------------
C'est ok, mais j'ai aussi besoin du pourcentage que représente cette surface par
rapport à l'ensemble des habitats. Je me suis orienté vers les sous-requêtes :
-----------------
Code :
SELECT
h.code_cb,
c.lb_hab_fr,
SUM(round(st_area(h.geom))) AS surface,
(Select
(100*surface) / (SUM(round(st_area(h.geom))))
FROM "CMB_observatoire".t_habitat h) AS test
LEFT JOIN ref_inpn.habref_cb c ON c.lb_code = h.code_cb
GROUP BY
h.code_cb,
c.lb_hab_fr,
-----------------
Le soucis est que la colonne surface n'existe pas pour la requête ... logique. Dois-je
faire la sous requête dans la formule (100*surface) / (SUM(round(st_area(h.geom))))? ou
existe-t-il un autre moyen ?
en vous remerciant.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=331137#p331137
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net