Message posté par : Léandre Béron
----------------------------------------
Bonjour,
En passant par une requête WITH, on peut générer cela :
-----------------
Citation :
WITH commune AS
(
SELECT id, code_insee, nom_commune, st_centroid(geom) as geom
FROM public.limite_commune
),
pop_n AS
(
SELECT id, code_insee, nom_commune, annee, population
FROM donnees_metiers.recensement_population
WHERE annee = 2023
),
pop_n_1 AS
(
SELECT id, code_insee, nom_commune, annee, population
FROM donnees_metiers.recensement_population
WHERE annee = 2022
)
SELECT commune.id,
commune.code_insee,
commune.nom_commune,
pop_n.annee as annee_n,
pop_n.population as pop_n,
pop_n_1.annee as annee_n_1,
pop_n_1.population as pop_n_1,
pop_n.population - pop_n_1.population as evolution_demographique
FROM commune
LEFT JOIN pop_n ON commune.code_insee = pop_n.code_insee
LEFT JOIN pop_n_1 ON commune.code_insee = pop_n_1.code_insee
ORDER BY commune.nom_com;
-----------------
Cela devrait fonctionner.
Il ne reste plus qu'à incorporer cela dans un CREATE OR REPLACE VIEW.
Néanmoins, si c'est une donnée qui sera souvent sollicitée dans des applications SIG
par exemple, je vous invite à passer par une vue matérialisée, les données étant mises à
jour annuellement. Vous gagnerez en performance pour les utilisateurs.
Cordialement,
Léandre BERON
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=361442#p361442
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