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 Mon 13 November 2006 18:14

stef.renou
Juste Inscrit !
Date d'inscription: 13 Nov 2006
Messages: 8

Un Group by non récupérable...

Bonjour à tous,

Mon Problème :

1 - J'ai une table alpha avec 2 colonnes ID_Objet / Code_INSEE commune. on peut avoir plusieurs objets pour une commune

2 - Je veux compter le nb d'objet par commune :

SELECT Code_INSEE, Cont(*) FROM Table GROUP BY Code_INSEE
J'obtiens un résultat  "Query1" : 2 colonne Code_INSEE / Count.

3 - J'ai une table "commune" à laquelle je rajoute "count" de "Query1" en colonne temporaire avec jointure sur le "Code_INSEE" des deux tables.
En SQL ça donne ça :
Add Column "Commune" (_COL2 Integer) From Query1 Set To Count Where COL2 = COL1  Dynamic
Jusque là pas de surprises hmm

4 - j'enregistre mon document

5 - Je ne peux plus l'ouvrir !!!

En fait, quand MapInfo relit l'expression Add Colomn... Il attend une expression derrière Count et ne le reconnaît plus comme nom de colonne.

Peut-on renommer en dur la colonne "count" de Query 1 ?
existerait-il une autre méthode pour arriver au même résultat tout en garantissant l'intégrité de ma table "commune" (en utilisant une colonne temporaire) ?

Merci

Hors ligne

 

#2 Mon 13 November 2006 19:30

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

Re: Un Group by non récupérable...

Bonjour,
Il est tard(!) mais, en première approche, je vous suggère:
SELECT Code_INSEE, Count(*) "compte" FROM Table GROUP BY Code_INSEE
puis
Add Column "Commune" (_COL2 Integer) From Query1 Set To compte Where COL2 = COL1  Dynamic
...à vérifier

Hors ligne

 

#3 Tue 14 November 2006 09:30

stef.renou
Juste Inscrit !
Date d'inscription: 13 Nov 2006
Messages: 8

Re: Un Group by non récupérable...

Ca marche parfaitement.

Il faut cependent revenir à chaque fois sur le .Wor lors d'une mise à jour pour replacer la requête avant l'ajout de colonne.

Car sur les .wor on trouve toujours par défaut l'ordre :

OPEN TABLE...
...
ADD COLOMN...
...
SELECT...

Merci pour ta réponse.

Stef

Hors ligne

 

#4 Tue 14 November 2006 10:11

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

Re: Un Group by non récupérable...

Peut être ajouter la colonne en dur et passer par un Update qui s'effectue en ouverture du Wor...??

Hors ligne

 

#5 Tue 14 November 2006 10:43

stef.renou
Juste Inscrit !
Date d'inscription: 13 Nov 2006
Messages: 8

Re: Un Group by non récupérable...

En effet, Je vais faire comme ça

Merci pour tes conseils

Hors ligne

 

#6 Wed 17 September 2008 11:17

Jum
Juste Inscrit !
Date d'inscription: 23 Jul 2008
Messages: 1

Re: Un Group by non récupérable...

Bonjour,

Je suis confronté exactement au même problème.

Quelqu'un connaîtrait-il une solution permettant de ne pas avoir à:
- replacer "manuellement" la requête avant l'ajout de colonne dans le .wor à chaque mise à jour,
- ni ajouter une colonne en dur (pour ne pas altérer la table des communes)?

Merci de vos réponses

Hors ligne

 

#7 Wed 17 September 2008 14:47

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

Re: Un Group by non récupérable...

AMHA...non
Et "l'altération" de la table commune n'est pas si terrible...et elle est réversible
S'il le faut enregistez commune et utilisez cette nouvelle table

Hors ligne

 

Pied de page des forums

Powered by FluxBB