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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 31 January 2008 14:06

Copernik
Participant occasionnel
Date d'inscription: 15 Jan 2007
Messages: 32

Requête SQL

Bonjour,
je souhaite réaliser une requête SQL pour le calcul de surface par commune sous MI.
J'ai plusieurs plygones, contenus dans chaque commune. Et je souhaiterai avoir pour chaque commune la superficie des plygones contenus à l'intérieur.
Problème : le résultat c'est une ligne par polygone(créant des doublons dans les champs commune), et non une ligne par commune.

Ma requête :
Select Commune.NOM, zones.superficie
From Commune, zones
Where Commune.Obj Contains zones.Obj

Si jamais je rajoute sum(*) :
Select Commune.NOM, sum(zones.superficie)
From Commune, zones
Where Commune.Obj Contains zones.Obj
...là j'obtiens une seule ligne avec la somme totale.


Je cherche en fait (si je me trompe pas), l'équivalent de "distinct" sous Access.

Voilà si vous avez une idée...
(pour simplifier je cherche à faire la somme des surfaces par commune)

Merci !

Dernière modification par Copernik (Thu 31 January 2008 14:09)

Hors ligne

 

#2 Thu 31 January 2008 14:20

erwann
Participant occasionnel
Lieu: Brest
Date d'inscription: 21 Aug 2006
Messages: 39

Re: Requête SQL

Bonjour,

Si je ne me trompes pas la requête suivante devrait marcher :

Select sum(zones.superficie)
From Commune, zones
Where Commune.Obj Contains zones.Obj
Group by Commune.NOM

Erwann


Erwann.

Hors ligne

 

#3 Thu 31 January 2008 14:25

Copernik
Participant occasionnel
Date d'inscription: 15 Jan 2007
Messages: 32

Re: Requête SQL

Super ça marche !!
Merci bien !

Hors ligne

 

#4 Thu 31 January 2008 16:58

Maestro de la salsa
Participant actif
Date d'inscription: 7 Jun 2006
Messages: 133

Re: Requête SQL

Bonjour,
Je ne connais pas ta couverture mais vérifie qu'il n'y ait pas deux communes distinctes ayant le même nom...Le mieux c'est est de faire le group by sur le "code commune" qui est unique (surtout pas le code postal car plusieurs communes différentes peuvent avoir un même code postal).

Hors ligne

 

Pied de page des forums

Powered by FluxBB