From 7853b5d09aa416dbc00ee449198a35b70d3c0709 Mon Sep 17 00:00:00 2001 From: nboisteault Date: Mon, 11 Dec 2023 17:28:52 +0100 Subject: [PATCH] =?UTF-8?q?jointure=20entre=20parcelles=20et=20communes=20?= =?UTF-8?q?plut=C3=B4t=20que=20zone=5Furba?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/join_data.md | 16 +++++++++------- docs/save_queries.md | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/join_data.md b/docs/join_data.md index 4bbdb35..9b513a4 100644 --- a/docs/join_data.md +++ b/docs/join_data.md @@ -6,21 +6,23 @@ Les jointures permettent de récupérer des données en relation les unes par ra La condition de jointure est faite sur des champs non géométriques. Par exemple une égalité (code, identifiant). -### Exemple 1: zonages et communes +### Exemple 1: parcelles et communes -Récupération des informations de la commune pour chaque zonage +Récupération des informations de la commune pour un ensemble de parcelles ```sql --- Jointure attributaire: récupération du nom de la commune pour chacun des zonages -SELECT z.*, c.nom -FROM z_formation.zone_urba AS z -JOIN z_formation.commune AS c ON z.insee = c.code_insee +-- Jointure attributaire: récupération du nom de la commune pour un ensemble de parcelles +SELECT c.nom, p.* +FROM z_formation.parcelle as p +JOIN z_formation.commune as c +ON p.commune = c.code_insee +LIMIT 100 -- IMPORTANT: ne pas oublier le ON cad le critère de jointure, -- sous peine de "produit cartésien" (calcul coûteux de tous les possibles) ; ``` -Il est souvent intéressant, pour des données volumineuses, de **créer un index sur le champ de jointure** (par exemple ici sur les champs `insee` et `ccocom`. +Il est souvent intéressant, pour des données volumineuses, de **créer un index sur le champ de jointure** (par exemple ici sur les champs `commune` et `code_insee`. ### Exemple 2: observations et communes diff --git a/docs/save_queries.md b/docs/save_queries.md index ad16460..e549d8d 100644 --- a/docs/save_queries.md +++ b/docs/save_queries.md @@ -104,7 +104,7 @@ WITH source AS ( ) -- Sélection des données dans cette table virtuelle "source" SELECT --- on crée un code à partir de l'ordre d'arrive. +-- on crée un code à partir de l'ordre d'arrivée. -- row_number() OVER() permet de récupérer l'identifiant de la ligne dans l'ordre d'arrivée -- (un_champ)::text permet de convertir un champ ou un calcul en texte -- lpad permet de compléter le chiffre avec des zéro. 1 devient 01