banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Wed 26 May 2021 11:47

Tan85
Participant occasionnel
Date d'inscription: 20 Sep 2019
Messages: 23

Faire appel à un champ 'variable' dans un SELECT

Bonjour,

j'ai mis en place un script assez complexe qui calcule une surface de consommation d'espace entre deux années sur la totalité de mon territoire.
Maintenant, je voudrais faire la même chose pour 50 sous-zones géographique, en appliquant donc un filtre à mon script initial. J'ai la liste des zones dans une autre table.
Est-ce que quelqu'un peut m'aider à trouver la façon d'écrire ce nouveau script pour obtenir au final une table avec le nom de la zone et la surface calculée relative à la zone.

Voici à quoi j'avais pensé mais ça m'oblige à répéter 50 fois la même opération en changeant 50 fois le filtre :

Code:

select (--script qui calcule la surface de la zone 1--) as zone 1,
          (--script qui calcule la surface de la zone 2--) as zone 2,
          (--script qui calcule la surface de la zone 3--) as zone 3,
          ....
          (--script qui calcule la surface de la zone 50--) as zone 50

Merci beaucoup !!!

Hors ligne

 

#2 Wed 26 May 2021 15:11

JP LLORENS
Participant assidu
Date d'inscription: 12 Nov 2008
Messages: 231

Re: Faire appel à un champ 'variable' dans un SELECT

Bonjour.
je pense que la fonction crosstab devrait permettre de répondre au besoin.
Mais au préalable il faut remonter le nom ou l'id des zones sur les objets (exemple remonter le nom de la zone sur les parcelles) avant de lancer le script de calcule de surface. Le crosstab va  permettre de renvoyer des résultats en colonnes (50) plutôt qu'en lignes
JP

Hors ligne

 

Pied de page des forums

Powered by FluxBB