#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