Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

GEODATA DAYS 2024

#1 Thu 06 November 2008 15:09

zouzou972
Juste Inscrit !
Date d'inscription: 16 Sep 2008
Messages: 3

Regrouper des requêtes SQL

Bonjour,

Je voudrais simplifier une requête SQL.

J'ai une table ayant la structure suivante :
NUM_INSEE (n° INSEE des communes)
NUM_AGGLO (code d'agglomération des communes)
POP90 (population en 1990)
POP99 (population en 1999)

Je veux calculer en une seule requête SQL l'évolution de ma population à l'échelle des mes agglomérations. Sans passer par la création d'une table agrégeant la population à l'échelle de l'agglomération.

L'idée serait elle de créer une table temporaire dans ma requête ex :

Table temporaire = somme_pop90 , somme_pop99 , group by NUM_AGGLO
ensuite calculer le taux dévolution à partir de ces 2 sommes.

Quelle peut être la syntaxe ?
Suis-je clair ?

Dernière modification par zouzou972 (Thu 06 November 2008 15:16)

Hors ligne

 

#2 Thu 06 November 2008 17:16

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Regrouper des requêtes SQL

Bonjour
Select NUM_AGGLO, (Sum(POP99)-Sum(POP90)) "evol"  From ma_table group by NUM_AGGLO
Ca marche ??

Hors ligne

 

#3 Thu 06 November 2008 17:34

zouzou972
Juste Inscrit !
Date d'inscription: 16 Sep 2008
Messages: 3

Re: Regrouper des requêtes SQL

Il y a un problème avec les doubles parenthèses.
Message d'erreurs : Trouvé [(] pendant la recherche de [)]

Hors ligne

 

#4 Thu 06 November 2008 19:46

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Regrouper des requêtes SQL

Exact... : Select NUM_AGGLO, Sum(POP99 - POP90) "evol"  From ma_table group by NUM_AGGLO

Hors ligne

 

#5 Fri 07 November 2008 09:54

zouzou972
Juste Inscrit !
Date d'inscription: 16 Sep 2008
Messages: 3

Re: Regrouper des requêtes SQL

Ma question est : comment faire dans la même requête un calcul de somme et un calcul d'indice sur ces sommes.
En une seule requête je veux calculer SUM(pop90), SUM(pop99) et (Sumpop99-sumpop90)/sumpop90*100.
sumpop90 étant la valeur obtenue de SUM(pop90).

Si ce n'est pas possible avec MapInfo est ce réalisable avec Access ?

Hors ligne

 

#6 Fri 07 November 2008 10:51

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Regrouper des requêtes SQL

Dans MapInfo il faudra deux étapes pour obtenir la table Sel_2 souhaitée:
Select NUM_AGGLO, Sum(POP99 - POP90) "evol9099", Sum(POP90) "pop90"  From ma_table group by NUM_AGGLO into Sel_1
Select NUM_AGGLO, evol9099*100/pop90 from Sel_1 into Sel_2

Hors ligne

 

Pied de page des forums

Powered by FluxBB