#1 Tue 10 March 2020 15:36
- BenB
- Participant actif
- Date d'inscription: 29 Dec 2015
- Messages: 121
Requette pourcentage de surface
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.
Hors ligne
#2 Wed 11 March 2020 10:05
- tevrard
- Participant assidu
- Date d'inscription: 23 May 2016
- Messages: 323
Re: Requette pourcentage de surface
Tu dois pouvoir utiliser WITH
l'idée c'est de faire une/des table(s) temporaire(s) que tu vas utiliser dans un second temps.
https://docs.postgresql.fr/8.4/queries-with.html
Hors ligne
#3 Wed 11 March 2020 14:43
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3235
- Site web
Re: Requette pourcentage de surface
Bonjour
Bien vu c'est ce qu'il faut faire.
Christophe
L'avantage d'ĂȘtre une Ăźle c'est d'ĂȘtre une terre topologiquement close
Hors ligne

